Procedimientos Almacenados WPB

PROCEDIMIENTOS ALMACENADOS ING. WILER ARTURO PONCE BENITES 2018 Procedimientos Almacenados Son un conjunto de instruc

Views 67 Downloads 3 File size 294KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROCEDIMIENTOS ALMACENADOS ING. WILER ARTURO PONCE BENITES 2018

Procedimientos Almacenados

Son un conjunto de instrucciones de Transact-SQL que pueden aceptar y devolver parámetros proporcionados por el usuario.

Tipos de procedimientos almacenados Procedimientos Almacenados del Sistema Procedimientos Almacenados definidos por el usuario

Procedimientos Almacenados del Sistema: Generalmente están guardados en la base de datos MASTER son identificados por iniciar en SP, permiten realizar una amplia variedad de tareas. A continuación se muestra algunos procedimientos almacenados del sistema: Sp_columns Sp_column_privileges Sp_databases Sp_fkeys

Sp_pkeys Sp_tables Sp_server_info Sp_statistics

Ejemplos --Procedimiento del sistema que muestra --las columnas de la tabla país sp_columns pais --Procedimiento almacenado del sistema para mostrar los --privilegios de las columnas involucradas de la tabla pasajero Sp_column_privileges pasajero --Procedimiento almacenado del sistema que muestra --las base de datos del servidor activo. Sp_databases

--Procedimiento almacenado que muestra las características --de nuestro servidor activo sp_server_info --procedimiento almacenado que muestra donde se hace referencia --a la tabla pasajero Sp_fkeys pasajero --Procedimiento almacenado que muestra la llave primaria --de la tabla pasajero Sp_pkeys pasajero

Procedimientos Almacenados definidos por el usuario: Son procedimientos que se implementan en forma personalizada según las necesidades del usuario. Los Procedimientos Almacenados pueden tener parámetros de entrada y salida.

Procedimientos Almacenados - Sintaxis Create procedure Nombre_Procedimiento @parámetro1 [tipo dato], @parámetro2 [tipo dato], @parámetro3 [tipo dato] AS

Ejemplo 1: Implementar un procedimiento almacenado que muestre el listado de los países y su total de pasajeros. -- Evaluamos si ya existe el procedimiento almacenado Tabla Pasajero – País que -- queremos implementar, si ya existe lo eliminamos if object_id('pasajerosxpais') is not null begin drop procedure pasajerosxpais end go --Implementamos nuestro procedimiento almacenado create procedure pasajerosxpais as select pai.nombre,count(*) as [Total] from pasajero pas inner join pais pai on pas.idpais=pai.idpais group by pai.nombre go --Ejecutamos el procedimiento almacenado exec pasajerosxpais

Ejemplo 2: Implementar un procedimiento almacenado que permita mostrar los pagos de un determinado pasajero, considerar para este caso como parámetro de búsqueda el número de documento del pasajero.

Tabla Pasajero - Pais = Pago

-- Evaluamos si ya existe el procedimiento almacenado que queremos implementar, si ya existe lo eliminamos if object_id('pagosxpasajero') is not null begin drop procedure pagosxpasajero end go -- Implementamos nuestro procedimiento almacenado alter procedure pagosxpasajero @num_documento varchar(12) as select fecha,monto,tipo_comprobante,num_comprobante from pago where idpasajero= (select idpasajero from pasajero where num_documento=@num_documento) go -- Ejecutamos el procedimiento almacenado y le enviamos el parámetro de entrada exec pagosxpasajero '47715777'

Ejemplo 3: Implementar un procedimiento almacenado que permita registrar un Nuevo país, para este caso definir como parámetro de entrada todos los campos referentes a la tabla país.

Tabla: País

--Evaluamos si ya existe el procedimiento almacenado que queremos implementar, si ya existe lo eliminamos if object_id('nuevopais') is not null begin drop procedure nuevopais end go --Implementamos nuestro procedimiento almacenado create procedure nuevopais @idpais char(4), @nombre varchar(30) as insert into pais (idpais,nombre) values(@idpais,@nombre) go --Ejecutamos el procedimiento almacenado y le enviamos los parámetros de entrada exec nuevopais '0014','Dinamarca'

Ejemplo 4:

Implementar un procedimiento almacenado que retorne el total de pagos recibidos en una determinada fecha. Tabla Pago

-- Evaluamos si ya existe el procedimiento almacenado que queremos implementar, si ya existe lo eliminamos if object_id('pagosxfecha') is not null begin drop procedure pagosxfecha end go -- Implementamos nuestro procedimiento almacenado create procedure pagosxfecha @fecha date, @total money output as select @total=sum(monto) from pago where fecha=@fecha go

-- Ejecutamos el procedimiento almacenado y le enviamos los parámetros declare @t money exec pagosxfecha '2014-05-05’, @total=@t output print 'Total' + cast(@t as char(10))