Manual PLSQL

23
Programación Bases de Datos Relacionales PL/SQL Es un lenguaje procedimental que amplía la funcionalidad de SQL añadiendo estructuras habituales en otros lenguajes de programación como: -Variables y tipos (predefinidos y definidos por el usuario) -Estructuras de control (bucles y condiciones IF-THEN-ELSE) -Procedimientos y funciones. -Tipos de objetos y métodos Creación de programas PL/SQL. Podemos crear programas con cualquier editor y ejecutarlos desde el prompt de sql con STAR o @. Los ficheros creados serán de texto y tendrán la extensión sql. Para que un fichero se ejecute correctamente debe tener en su última línea el símbolo /. Características de PL/SQL La unidad básica en PL/SQL es el bloque. Todos los programas de PL/SQL están compuestos por bloques que pueden estar anidados. Estructura de un Bloque: DECLARE /*Aquí se declaran las variables, tipos cursores y subprogramas locales*/ BEGIN /* Aquí se incluyen las órdenes SQL y PL/SQL, es obligatoria y debe contener, al menos una orden ejecutable */ END; EXCEPTION /* Sección para el manejo de excepciones (errores)*/ END; -Podemos crear diferentes tipos de bloques: Bloques anónimos: Se construyen de forma dinámica y se suelen ejecutar una sola vez. Bloques nominados: Igual que los anónimos pero con una etiqueta que les da nombre. Subprogramas: Procedimientos, paquetes y funciones, almacenados en la BD y que se ejecutan en

description

plsql

Transcript of Manual PLSQL

PL/SQLEs un lenguaje procedimental que ampla la funcionalidad de SQL aadiendo estructuras habituales en otros lenguajes de programacin como:

-Variables y tipos (predefinidos y definidos por el usuario)

-Estructuras de control (bucles y condiciones IF-THEN-ELSE)

-Procedimientos y funciones.

-Tipos de objetos y mtodos

Creacin de programas PL/SQL.Podemos crear programas con cualquier editor y ejecutarlos desde el prompt de sql con STAR o @. Los ficheros creados sern de texto y tendrn la extensin sql.

Para que un fichero se ejecute correctamente debe tener en su ltima lnea el smbolo /.

Caractersticas de PL/SQLLa unidad bsica en PL/SQL es el bloque. Todos los programas de PL/SQL estn compuestos por bloques que pueden estar anidados.

Estructura de un Bloque:DECLARE/*Aqu se declaran las variables, tipos cursores y subprogramas locales*/

BEGIN/* Aqu se incluyen las rdenes SQL y PL/SQL, es obligatoria y debe contener, al menos una orden ejecutable */

END;EXCEPTION/* Seccin para el manejo de excepciones (errores)*/

END;-Podemos crear diferentes tipos de bloques:Bloques annimos: Se construyen de forma dinmica y se suelen ejecutar una sola vez. Bloques nominados: Igual que los annimos pero con una etiqueta que les da nombre. Subprogramas: Procedimientos, paquetes y funciones, almacenados en la BD y que se ejecutan en mltiples ocasiones. Los subprogramas se ejecutarn mediante una llamada.

Disparadores (Triggers): Bloques nominados que se almacenan en la BD y se ejecutan ante algn suceso.

Para dar nombre a un bloque se le pone una etiqueta antes del DECLARE . Para transformar un bloque en un procedimiento almacenado reemplazamos la palabra clave

DECLARE por CREATE OR REPLACE PROCEDURE nombre_procedimiento ASVariables y tipos:Podemos declarar variables, cada una debe tener su tipo asociado.

Las variables pueden ser de los mismos tipos que las columnas de una base de datos:

DECLARE

v_NombreEstudiante VARCHAR2(20);v_FechaActual DATE;

v_Puntos NUMBER(3); Tambin existen otros tipos adicionales (enteros binarios y lgicos):

DECLARE

v_ContadorBucle BINARY_INTEGER;

v_Registrado BOOLEAN;BINARY_INTEGER: Se usa para almacenar valores que slo van a ser utilizados en clculos y no se van a almacenar en la BBDD.BOOLEAN: Puenden contener los valores TRUE,FALSE o NULL.

Sintaxis: nombre_variable tipo [CONSTANT] [NOT NULL] [:=valor]

Adems admite tipos definidos por el usuario (tablas y registros):

DECLARE

TYPE t_RegistroEstudiante IS RECORD ( NombreVARCHAR2(10), Apellido1VARCHAR2(15),

Edad NUMBER(3)); v_Estudiante t_RegistroEstudiante; PL/SQL 8 tambin admite tipos de objetos

El atributo %TYPE permite declarar una variable del mismo tipo que otra ya existente, especialmente til para declarar variables del mismo tipo que atributos de una tabla.

NombreVariable variableReferencia%TYPE;IdentificiadoresLos identificadores vlidos empiezan por una letra que puede ser seguida de una secuencia de caracteres que puede incluir letras, nmeros,$ ,_ ,#. La longitud mxima de un identificador es de 30 caracteres.

LiteralesPodremos utilizar literales numricos (enteros y reales), booleanos (TRUE,FALSE Y NULL) y de carcter (uno o ms caracteres delimitados por comillas simples).

Estructuras de bucleExisten cuatro tipos de bucles (LOOP,WHILE,FOR y

FOR de Cursor) Bucle simple LOOPLOOPSecuencia de ordenes;END LOOP;

DECLAREv_ContBucle BINARY_INTEGER := 1; BEGIN

LOOPINSERT INTO temp_table (num_col) VALUES (v_ContBucle);

v_ContBucle := v_ContBucler + 1;

EXIT WHEN v_ContBucle > 50;END LOOP; END;

El bucle se repite indefinidamente, debemos aadir una condicin de salida mediante la orden EXIT

EXIT[WHEN condicin];Ejemplo (Bucle que inserta 50 filas en la tabla temp_table)

Bucle WHILEWHILE condicin LOOPSecuencia de ordenes;END LOOP;

DECLARE

V_Contador BINARY_INTEGER := 1; BEGIN

WHILE V_Contador