Los Procedimientos Almacenados Pueden Recibir y Devolver Información
Los Procedimientos Almacenados Pueden Recibir y Devolver Información
Los Procedimientos Almacenados Pueden Recibir y Devolver Información
La sintaxis es:
create procedure NOMBREPROCEDIMIENTO
@NOMBREPARAMETRO TIPO =VALORPORDEFECTO
as SENTENCIAS;
Los parámetros se definen luego del nombre del procedimiento, comenzando el nombre con un
signo arroba (@). Los parámetros son locales al procedimiento, es decir, existen solamente
dentro del mismo. Pueden declararse varios parámetros por procedimiento, se separan por
comas.
Cuando el procedimiento es ejecutado, deben explicitarse valores para cada uno de los
parámetros (en el orden que fueron definidos), a menos que se haya definido un valor por
defecto, en tal caso, pueden omitirse. Pueden ser de cualquier tipo de dato (excepto cursor).
Creamos un procedimiento que recibe el nombre de un autor como parámetro para mostrar
todos los libros del autor solicitado:
No podríamos ejecutar el procedimiento anterior sin valores para los parámetros. Si queremos
ejecutar un procedimiento que permita omitir los valores para los parámetros debemos, al crear
el procedimiento, definir valores por defecto para cada parámetro:
Si enviamos un solo parámetro a un procedimiento que tiene definido más de un parámetro sin
especificar a qué parámetro corresponde (valor por posición), asume que es el primero. Es decir,
SQL Server asume que los valores se dan en el orden que fueron definidos, no se puede
interrumpir la secuencia.
go
go
go
-- Ejecutamos el procedimiento:
exec pa_libros_autor 'Richard Bach';
go
go
go
go
-- Ejecutamos el procedimiento anterior sin enviarle valores para verificar que usa
-- los valores por defecto (Muestra los libros de "Richard Bach" y editorial
-- "Planeta" (valores por defecto)):
exec pa_libros_autor_editorial2;
go
go