95 - Procedimientos almacenados (variables) |
Los procedimientos almacenados pueden contener en su definición, variables locales, que existen durante el procedimiento.
La sintaxis para declarar variables dentro de un procedimiento almacenado es la siguiente:
create or replace procedure NOMBREPROCEDIMIENTO (PARAMETRO in TIPODEDATO) as NOMBREVARIABLE TIPO; begin INSTRUCCIONES; end;
Las variables se definen antes del bloque de sentencias; pueden declararse varias.
Creamos un procedimiento que recibe el nombre de un libro, en una variable guardamos el nombre del autor de tal libro, luego buscamos todos los libros de ese autor y los almacenamos en una tabla:
create or replace procedure pa_autorlibro(atitulo in varchar2) as vautor varchar2; begin vautor= select autor from libros where titulo=atitulo; drop table tabla1; create table tabla1( titulo varchar2(40), precio number(6,2) ); insert into tabla1 select titulo,precio from libros where autor=vautor; end;
Ejecutamos el procedimiento: execute pa_autorlibro('Ilusiones');
Luego de definir un parámetro y su tipo, opcionalmente, se puede especificar un valor por defecto; tal valor es el que asume el procedimiento al ser ejecutado si no recibe parámetros. Si no se coloca valor por defecto, un procedimiento definido con parámetros no puede ejecutarse sin valores para ellos.