sql >> Base de Datos >  >> RDS >> Oracle

Estructura y tipos de bloques de Oracle PLSQL

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