Los procedimientos almacenados se crean para realizar una o más operaciones DML en la base de datos. No es más que el grupo de declaraciones SQL que acepta alguna entrada en forma de parámetros y realiza alguna tarea y puede o no devolver un valor.
Sintaxis: creación de un procedimiento
CREATE or REPLACE PROCEDURE name(parameters) IS variables; BEGIN //statements; END;
La parte más importante son los parámetros. Los parámetros se utilizan para pasar valores al Procedimiento. Hay 3 tipos diferentes de parámetros, son los siguientes:
- IN:
Este es el parámetro predeterminado para el procedimiento. Siempre recibe los valores del programa de llamada. - OUT:
Este parámetro siempre envía los valores al programa que llama. - IN OUT:
Este parámetro realiza ambas operaciones. Recibe valor y envía los valores al programa de llamada.
Ejemplo:
imagine una tabla nombrada con emp_table almacenada en la base de datos. Estamos Escribiendo un Procedimiento para actualizar un Salario de Empleado con 1000.
CREATE or REPLACE PROCEDURE INC_SAL(eno IN NUMBER, up_sal OUT NUMBER) IS BEGIN UPDATE emp_table SET salary = salary+1000 WHERE emp_no = eno; COMMIT; SELECT sal INTO up_sal FROM emp_table WHERE emp_no = eno; END;
- Declare una variable para almacenar el valor que sale del procedimiento:
VARIABLE v NUMBER;
- Ejecución del Procedimiento:
EXECUTE INC_SAL(1002, :v);
- Para verificar el salario actualizado, use la declaración SELECT:
SELECT * FROM emp_table WHERE emp_no = 1002;
- o Usar declaración de impresión:
PRINT :v
Publicación traducida automáticamente
Artículo escrito por LoneWolf_Akashdip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA