Top Ad unit 728 × 90

Recientes

recent

Procedimientos Almacenados Sql Server - Bases de Datos en Microsoft Sql Server 2014 (31-35)

Buen día amigos de IncanatoIt, continuamos en este curso de base de datos en Microsoft Sql Server 2014, en este artículo trabajaremos con procedimientos almacenados.

Puedes seguir el curso Completo desde:

Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:


Programación Transact SQL

Scripts
Procedimientos Almacenados
Funciones
Triggers

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:

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 mostramos 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 - Sintáxis

Create procedure Nombre_Procedimiento 
@parámetro1 [tipo dato],
@parámetroN [tipo dato]
AS
    <Instrucciones>

Ejemplos:

Ejemplo 1:
Implementar un procedimiento almacenado que muestre el listado de los países y su total de pasajeros.

Tabla Pasajero - País

--Evaluamos si ya existe el procedimiento

--almacenado 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 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))


Procedimientos Almacenados (31-35) Bases de Datos en Microsoft Sql Server 2014



Saludos Imperio, un  abrazo a la distancia.
Procedimientos Almacenados Sql Server - Bases de Datos en Microsoft Sql Server 2014 (31-35) Reviewed by IncanatoIt-ad on 9:39 Rating: 5

3 comentarios:

  1. como haría si me pedirían:
    Realizar consultas de Mantenimiento para todas las Tablas(10 registros en cada uno), utilizando
    procedimientos almacenados

    ResponderEliminar
  2. ¿Cómo hacer lo siguiente?
    1.- Consultas de Préstamos por devolver y devueltos ???
    2.- Listado de Productos por Clasificación
    3.- Productos más solicitados
    4.- Consultas de Mantenimiento de todas las tablas(mínimo 10 registros) utilizando procedimientos almacenados

    ResponderEliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>