Transcripción Objetos PL/SQL en Oracle DBA: guía completa
PL/SQL es un lenguaje de programación desarrollado por Oracle, añadiendo nuevas características a SQL. Se puede ejecutar en la máquina cliente o en la propia maquina servidor.
Hay 6 tipos de objetos PL/SQL:
- PROCEDIMIENTOS: Los procedimientos hacen cosa / realizan operativas.
- FUNCIONES: Las funciones hacen cosas / realizan operativas.
- PAQUETES: Son agrupaciones de procedimientos y funciones.
- TRIGGERS: Los triggers se ejecutan cuando se realiza una declaración DML contra las tablas.
- CUERPO DE PAQUETE
- CUERPO DE TIPO
Todos estos son objetos de esquema almacenados dentro del diccionario de datos. Para crear estos objetos se puede usar el Enterprise Manager Database Control, el SQL*PLUS o paquetes de terceros.
Procedimiento
Bloque de código que realiza acciones. Tiene parámetros de entrada/salida:
- IN: Con estos parámetros se puede introducir datos al procedimiento.
- OUT: Con estos parámetros se puede sacar datos del procedimiento.
- IN-OUT: Con estos parámetros se puede introducir datos al procedimientos y después pueden ser modificados y de vueltos como salida.
Puede contener variables privadas. Se ejecuta con el comando EXECUTE.
Sintaxis procedimiento: Para crear o modificar(todo entero) un procedimiento:
- CREATE [OR REPLACE] PROCEDURE nom [(lista_param)]
- IS declaraciones
- BEGIN cuerpo_ejecución
- [EXCEPTION cuerpo_errores]
- END
Función
Una función es prácticamente una procedimiento pero:
- No tiene parámetros de salida (OUT / IN-OUT).
- No se puede ejecutar con EXECUTE.
- Solo puede retornar un único valor con la sentencia RETURN.
Sintaxis Función: Para crear o modificar(todo entero) un procedimiento:
- CREATE [OR REPLACE] FUNCTION nom [(lista_param)]
- RETURN tipo
- IS declaraciones
- BEGIN cuerpo_ejecucion
- [EXCEPTION cuerpo_errores]
- END
Paquete
Sirve para agrupar procedimientos y funciones relacionados. Se compone de:
- Cabecera o especificación: Permite describir el contenido del paquete y conocer el nombre y los parámetros de llamada de las funciones y procedimientos.
- Un cuerpo: Contiene código PL/SQL que implementa los procedimientos y/o funciones.
Sintaxis cabecera o especificación de un paquete:
- CREATE [OR REPLACE] PACKAGE nom AS
- Lista_variables_o_constantes
- Lista_signaturas_función_o_procedimiento
- END
Sintaxis cuerpo de un paquete:
- CREATE [OR REPLACE] PACKAGE BODY nom AS código_creación_función_o_procedimiento
- END
Para ejecutar un procedimiento:
- Exec nombre_procedimiento
Trigger o disparador
Este objeto no puede ser ejecutado manualmente, se ejecuta de forma automática cuando sucede un evento
objetos pl sql