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

Introducción a las funciones PL/SQL en Oracle Database

Para cualquiera que haya estudiado lenguajes de programación como C, C++ o Java, el concepto de funciones no es nuevo. Las funciones no son más que un grupo de sentencias ejecutables. Al usar Funciones, puede evitar tener que volver a escribir la misma lógica de programación una y otra vez. Entonces, ¿cómo podemos definir una función en Oracle PL/SQL?

¿Qué son las funciones PL/SQL en Oracle Database?

En Oracle Database podemos definir una función PL/SQL como un subprograma autónomo que está destinado a realizar una tarea específica bien definida. Las funciones se denominan bloque PL/SQL, lo que significa que se pueden almacenar en la base de datos como un objeto de la base de datos y se pueden reutilizar. Esa es también la razón por la que algunos libros se refieren a las funciones PL/SQL como funciones almacenadas.

Tipos de funciones PL/SQL en Oracle Database

Hay dos tipos de funciones PL/SQL en Oracle Database, estas son

  1. Funciones de paso por valor y
  2. Funciones de paso por referencia

En Oracle Database, ambos tipos de funciones deberían tener que devolver algunos valores y estos valores deberían ser un tipo de datos SQL o PL/SQL válido.

Sintaxis de funciones PL/SQL en Oracle Database

CREATE [OR REPLACE] FUNCTION function_name
(Parameter 1, Parameter 2…)
RETURN datatype
IS
	Declare variable, constant etc.  
BEGIN
	Executable Statements
	Return (Return Value);
END;

He discutido la sintaxis de la función PL/SQL línea por línea en el video tutorial en mi canal de YouTube sobre el mismo tema. Te sugiero que vayas y veas ese tutorial una vez.

Método de ejecución de funciones

Dependiendo de su creatividad y habilidades de programación, una función PL/SQL puede llamarse de varias maneras. Estas son algunas formas generales de llamar a una función PL/SQL en Oracle Database

  1. Puede usar la utilidad SQL*Plus de Oracle Database para invocar una función PL/SQL que se puede llamar desde PL/SQL como declaración de procedimiento.
  2. También se puede usar un bloque PL/SQL anónimo para llamar a una función.
  3. Incluso puede llamar a una función directamente en una declaración SELECT o DML.

Estén atentos, discutiremos cada uno de estos métodos de ejecución de funciones PL/SQL en el próximo tutorial.

Restricciones para llamar a una función

  1. Una función que devuelve el tipo de datos SQL se puede usar dentro de la instrucción SQL y una función PL/SQL que devuelve el tipo de datos PL/SQL solo funciona dentro de los bloques PL/SQL. Una excepción a esta regla es que no puede llamar a una función que contiene una operación DML dentro de una consulta SQL. Sin embargo, puede llamar a una función que realiza una operación DML dentro de INSERTAR, ACTUALIZAR y ELIMINAR.
  2. Una función llamada desde una instrucción UPDATE o DELETE en una tabla no puede consultar (SELECCIONAR) ni realizar transacciones (DML) en la misma tabla.
  3. Una función llamada desde expresiones SQL no puede contener el comando TCL (COMMIT o ROLLBACK) o el comando DDL (CREATE o ALTER)

Eso es todo por este tutorial sobre Introducción a las funciones PL/SQL en Oracle Database. Asegúrese de revisar el próximo tutorial donde demuestro la creación de la función PL/SQL usando un ejemplo muy simple.

También asegúrese de compartir este blog en sus redes sociales, ya que estoy regalando la mercancía de RebellionRider a uno de los ganadores seleccionados al azar cada mes. Para más actualizaciones sígueme en mi Facebook y Twitter.

¡Gracias por leer y que tengas un gran día!