Aquí discutiremos sobre la estructura y los tipos de bloques de Oracle PLSQL
Qué es PL/SQL

PL/SQL es la extensión patentada de Oracle para SQL que permite capacidades de lenguaje procedimental. Brinda todas las funciones de la ingeniería de software moderna, como encapsulación de datos, manejo de excepciones, ocultación de información y orientación a objetos
Por qué usar PLSQL
1) Integración con herramientas de desarrollo como formularios Oracle, Informes
2) Se pueden agrupar varias declaraciones en un solo bloque plsql y enviarlas al servidor de Oracle, lo que da como resultado menos tráfico de red
3) Desarrollo de programas modularizados:desglose de la lógica/problema complejo en un conjunto de módulos lógicos manejables, bien definidos e impleméntelos usando bloques
4) Portabilidad:dado que es nativo del servidor Oracle, se puede mover fácilmente
5) Proporciona estructuras de control de lenguaje procesal como condición condicional, bucle
6) Tiene la capacidad de manejar errores y generar excepciones en función de ello
Estructura de bloques PLSQL
Un bloque plsql se crea en tres secciones Declarar, ejecutable y excepción.
DECLARACIÓN (Opcional) – esta sección contiene variables, constantes, cursores y excepciones definidas por el usuario. COMENZAR(Obligatorio) EJECUTABLE – esta sección contiene sentencias SQL. EXCEPCIÓN (opcional)- esta sección contiene los controladores de errores.FIN(Obligatorio); |

Por lo tanto, la declaración y la sección de excepción son opcionales.
Estructura de bloque de ejemplo
DECLARAR l_number NÚMERO; COMENZAR l_numero :=1; Dbms_output.put_line(l_number); Excepción Cuando otros entonces Dbms_output.put_line('Excepción ocurrió'); FIN; //pre>Puntos importantes para anotar
1) Todas las variables y constantes se definen en la sección de declaración
2) Coloque un punto y coma; al final de la declaración sql o declaración de control plsql
3) En PL/SQL todos los errores se manejan en el bloque de excepciones.
4) Begin y End son declaraciones obligatorias que indican el comienzo y el final del bloque PL/SQL.
5) Las variables y constantes deben declararse primero antes de que puedan usarse.
6) Los valores se pueden asignar a las variables directamente usando el operador de asignación “:=”, por medio de una declaración SELECT … INTO o cuando se usa como parámetro OUT o IN OUT de un procedimiento.
7) La palabra clave de sección Declare, Begin , la excepción no va seguida de punto y coma
8) End y todas las demás declaraciones de plsql requiere un punto y coma para terminar la declaración
Tipos de bloques PLSQL
Anónimo :Los bloques anónimos son bloques sin nombre. Se declaran en el punto de la aplicación donde deben ejecutarse
DECLARAR l_number NÚMERO; COMENZAR l_numero :=1; Dbms_output.put_line(l_number); Excepción Cuando otros entonces Dbms_output.put_line('Excepción ocurrió'); FIN; //pre>Función :Estos son nombres de bloques PLSQL que pueden aceptar parámetros y calcular alguna función y devolverla. Se puede almacenar en el servidor o aplicación de Oracle
Sintaxis FUNCTION nombre [(parámetro[, parámetro, …])] RETURN tipo de datos IS [declaraciones locales] BEGIN sentencias ejecutables [EXCEPTION manejadores de excepción] END [nombre]; Ejemplo Crear o reemplazar la función FUNC número de retorno Como l_number NÚMERO; COMENZAR Seleccione contar(*) en l_número de emp; retorno(l_numero) FIN; //pre>Procedimiento :Estos son nombres de bloques PLSQL que pueden aceptar parámetros y procesar alguna información y pueden o pueden devolver valores. Se puede almacenar en el servidor o aplicación de Oracle
Sintaxis PROCEDURE nombre [(parámetro[, parámetro, …])] IS [declaraciones locales] BEGIN declaraciones ejecutables [excepciones manejadores de excepciones] END [nombre]; Ejemplo Crear o reemplazar el procedimiento remove_emp (número de emp_id) Como BEGIN Eliminar de emp donde employee_id=emp_id; FIN; //pre>Diferencia Entre Función y Procedimiento
Función | Procedimiento |
La función debe devolver un valor | El procedimiento no necesita |
Sintaxis | Sintaxis |
nombre de la FUNCIÓN (lista de argumentos …..) El tipo de datos de retorno es | Nombre del PROCEDIMIENTO (lista de parámetros…..) |
declaraciones de variables locales | es |
Comenzar | declaraciones de variables locales |
sentencias ejecutables | COMENZAR |
Excepción | Declaraciones ejecutables. |
controladores de ejecución | Excepción. |
Fin; | controladores de excepciones |
fin; | |
La función se puede usar en SQL con algunas restricciones | El procedimiento no se puede llamar directamente desde SQL. |
Sintaxis y directrices de bloques de Oracle PLSQL
1) Los literales de caracteres y fechas deben estar entre comillas simples
2) Coloque comentarios de varias líneas entre /* y */
3) La mayoría de las funciones sql se pueden usar en PLSQL. Tenemos funciones de caracteres, fechas y números disponibles en PLSQL al igual que SQL
4) el grupo por función no está disponible en PLSQL. Solo se puede usar en la instrucción sql en PLSQL
5) Deberíamos usar la sangría adecuada para que el código sea legible
6) Se recomienda escribir declaraciones DML en mayúsculas, palabras clave PLSQL, tipos de datos en mayúsculas y poner identificadores y parámetros en minúsculas para una mejor legibilidad y mantenimiento
Enlaces relacionados
Documentación de Oracle PLSQL
Las 25 preguntas más frecuentes de la entrevista de Oracle PlSQL
Oracle sql y plsql
cómo escribir consultas sql