INTRODUCCIÓN AL LENGUAJE PL-SQL
INTRODUCCIÓN AL LENGUAJE PL/SQL
Hasta el momento se ha trabajado con la base de datos de manera interactiva, el uso de esta introduce un comando y Oracle da una respuesta.
Para superar estas limitaciones Oracle incorpora un gestor PL/SQL en le servidor de base de datos y en las principales herramientas. Este lenguaje esta basado en ADA el cual incorpora todas las características propias de los lenguajes de tercera
Los programas creados con PL/SQL se pueden almacenar en la base de datos como cualquier otro objeto de esta de este modo se facilita a todos los usuarios autorizados el acceso a estos programas. Facilita la instalación el mantenimiento de software y reduce drásticamente los costes.
Bloques PL/SQL
Se pueden construir distintos tipos de programas, procedimientos, funciones, etc.Un bloque tiene tres zonas definidas.
*Zona de declaraciones donde se declaran objetos (variables, constantes) es precedida por la clausula DECLARE (o IS/AS ) es opcional.
*Un conjunto de INSTRUCCIONES con la clausula BEGIN.
*Una zona de tratamiento de EXCEPCIONES con la clausula EXCEPTION
EL FORMATO ES EL SIGUIENTE:
[ DECLARE
<declaraciones>]
BEGIN
<ordenes>
[ EXCEPTION
<gestión de excepciones> ]
END;
*/ la zona de declaraciones comenzara con DECLARE o con IS dependiendo del tipo de bloque las únicas clausulas obligatorias son BEGIN y END */
EJEMPLO
En el siguiente ejemplo se borra el departamento numero 20, pero antes se crea un departamento provisional, al que se asigna los empleados del departamento 20 que de otra forma hubieran sido borrados al borrar el departamento. También informa el numero de empleados afectados.
REGISTROS ANTES DE ACTUALIZAR
REGISTROS ACTUALIZADOS
PL/SQL dispone de tipos de datos compatibles con los datos utilizados por las columnas de las tablas NUMBER,VARCHAR2,DATE etc.
Las declaraciones de los datos deben realizarse en la sección de declaraciones.
DECLARE
importe NUMBER(10);
BEGIIN
....
EJEMPLOS DE APLICACIÓN:
Bloques PL/SQL
Se pueden construir distintos tipos de programas, procedimientos, funciones, etc.Un bloque tiene tres zonas definidas.
*Zona de declaraciones donde se declaran objetos (variables, constantes) es precedida por la clausula DECLARE (o IS/AS ) es opcional.
*Un conjunto de INSTRUCCIONES con la clausula BEGIN.
*Una zona de tratamiento de EXCEPCIONES con la clausula EXCEPTION
EL FORMATO ES EL SIGUIENTE:
[ DECLARE
<declaraciones>]
BEGIN
<ordenes>
[ EXCEPTION
<gestión de excepciones> ]
END;
*/ la zona de declaraciones comenzara con DECLARE o con IS dependiendo del tipo de bloque las únicas clausulas obligatorias son BEGIN y END */
EJEMPLO
En el siguiente ejemplo se borra el departamento numero 20, pero antes se crea un departamento provisional, al que se asigna los empleados del departamento 20 que de otra forma hubieran sido borrados al borrar el departamento. También informa el numero de empleados afectados.
DEFINICIÓN DE DATOS COMPATIBLES CON SQL
Las declaraciones de los datos deben realizarse en la sección de declaraciones.
DECLARE
importe NUMBER(10);
BEGIIN
....
USO Y EJEMPLOS DE BLOQUES ANÓNIMOS Y PROCEDIMIENTOS
Los bloques anónimos son bloques que no tienen nombre. Se suelen crear y ejecutar desde sql*plus
oracle reconoce el comienzo de un bloque anónimo cuando se encuentra la palabra reservada DECLARE o BEGIN.
estos son algunos ejemplos de bloques anónimos
1. el siguiente bloque no hace nada.
2.el siguiente bloque escribe HOLA MUNDO
3.este bloque muestra el numero de empleado de un empleado especificado
En los bloque de pueden utilizar variables de sutitucion poniendo el & a la variable. antes de ejecutar el bloque se solicitara el valor para la variable.
USO DE PROCEDIMIENTOS
introduciendo las siguientes lineas desde el indicador de sql*plus dispondremos de un cedimiento PL/SQL sencillo para consultar los datos de un empleado
1.En el siguiente procedimiento se visualiza numero de departamento de un empleado con numero como parámetro
2.escribiremos un procedimiento que modifique el salario de un empleado pasandole el codigo del empleado y el procedimiento probara que el salario no supere el 20 por 100.
Gracias por el aporte
ResponderEliminar