0% encontró este documento útil (0 votos)
57 vistas

Programación Transact SQL

El documento describe los procedimientos almacenados en Transact-SQL. Incluye procedimientos almacenados del sistema y definidos por el usuario, con ejemplos de su sintaxis y uso. Se explica que los procedimientos almacenados permiten aceptar parámetros y devolver resultados, y pueden usarse para tareas como mostrar datos de tablas, registrar nuevos registros e información agregada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
57 vistas

Programación Transact SQL

El documento describe los procedimientos almacenados en Transact-SQL. Incluye procedimientos almacenados del sistema y definidos por el usuario, con ejemplos de su sintaxis y uso. Se explica que los procedimientos almacenados permiten aceptar parámetros y devolver resultados, y pueden usarse para tareas como mostrar datos de tablas, registrar nuevos registros e información agregada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

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

También podría gustarte