Buscar..


Introducción

El procedimiento PLSQL es un grupo de sentencias SQL almacenadas en el servidor para su reutilización. Aumenta el rendimiento porque las instrucciones SQL no tienen que volver a compilarse cada vez que se ejecutan.

Los procedimientos almacenados son útiles cuando varias aplicaciones requieren el mismo código. Tener procedimientos almacenados elimina la redundancia e introduce la simplicidad en el código. Cuando se requiere la transferencia de datos entre el cliente y el servidor, los procedimientos pueden reducir los costos de comunicación en ciertas situaciones.

Sintaxis

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
  < declarations >
BEGIN
  < procedure_body >
EXCEPTION                      -- Exception-handling part begins
  <exception handling goes here >
   WHEN exception1 THEN 
       exception1-handling-statements
END procedure_name;
  • nombre-procedimiento especifica el nombre del procedimiento.
  • La opción [O REEMPLAZAR] permite modificar un procedimiento existente.
  • La lista de parámetros opcionales contiene nombre, modo y tipos de parámetros. IN representa que el valor se pasará desde afuera y OUT representa que este parámetro se usará para devolver un valor fuera del procedimiento. Si no se especifica ningún modo, se supone que el parámetro está en modo IN.
  • En la sección de declaración podemos declarar variables que serán utilizadas en la parte del cuerpo.
  • procedure-body contiene la parte ejecutable.
  • La palabra clave AS se utiliza en lugar de la palabra clave IS para crear un procedimiento independiente.
  • La sección de excepciones manejará las excepciones del procedimiento. Esta sección es opcional.

Hola Mundo

El siguiente procedimiento simple muestra el texto "Hello World" en un cliente que admite dbms_output .

CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
   dbms_output.put_line('Hello World!');
END;
/

Debe ejecutar esto en el indicador de SQL para crear el procedimiento en la base de datos, o puede ejecutar la consulta a continuación para obtener el mismo resultado:

SELECT 'Hello World!' from dual;

Parámetros de entrada / salida

PL / SQL usa las palabras clave IN, OUT, IN OUT para definir qué puede pasar con un parámetro pasado.

IN especifica que el parámetro es de solo lectura y el procedimiento no puede cambiar el valor.

OUT especifica que el parámetro es solo de escritura y un procedimiento puede asignarle un valor, pero no hacer referencia al valor.

IN OUT especifica que el parámetro está disponible para referencia y modificación.

PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;


procedureName(firstvar, secondvar, thirdvar);

Las variables que se pasaron en el ejemplo anterior deben escribirse tal como se definen en la sección de parámetros del procedimiento.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow