Los procedimientos almacenados son un conjunto de instrucciones que permiten gestionar de la mejor manera la carga de trabajo entrante y saliente en un entorno donde varios programas solicitan el acceso a los datos y su almacenamiento dependerá del tipo de gestor de bases de datos que estemos usando.
También varía la sintaxis al crear un procedimiento almacenado, pero en el caso de SQL Server se realiza de la siguiente forma:
CASO PRACTICO Nº1: Base de Datos BDVentas
Crearemos la siguiente estructura de tablas para la base de datos BDVentas
--SQL Server Stored Procedure Syntax
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ OUT | OUTPUT | [READONLY]
] [ ,...n ]
[ WITH <procedure_option> [ ,...n ] ]
[ FOR REPLICATION ]
AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] }
[;]
--Fuente: https://msdn.microsoft.com/es-es/library/ms187926(v=sql.120).aspx
CASO PRACTICO Nº1: Base de Datos BDVentas
Crearemos la siguiente estructura de tablas para la base de datos BDVentas
--PROCEDIMIENTO ALMACENADO PARA AGREGAR CLIENTE
CREATE PROCEDURE SP_AGREGAR_CLIENTE
@contacto varchar(80),
@documento char(11),
@estado bit
AS
BEGIN
INSERT INTO Cliente VALUES (@contacto,@documento,@estado)
END
GO
@contacto varchar(80),
@documento char(11),
@estado bit
AS
BEGIN
INSERT INTO Cliente VALUES (@contacto,@documento,@estado)
END
GO
--PROCEDIMIENTO ALMACENADO PARA ACTUALIZAR CLIENTE
CREATE PROCEDURE SP_ACTUALIZAR_CLIENTE
@idcliente int,
@contacto varchar(80),
@documento char(11),
@estado bit
AS
BEGIN
UPDATE Cliente set contacto=@contacto,documento=@documento,estado=@estado where
idcliente=@idcliente
END
GO
@idcliente int,
@contacto varchar(80),
@documento char(11),
@estado bit
AS
BEGIN
UPDATE Cliente set contacto=@contacto,documento=@documento,estado=@estado where
idcliente=@idcliente
END
GO
--PROCEDIMIENTO SELECCIONAR CLIENTE
CREATE PROCEDURE SP_SELECCIONAR_CLIENTE
AS
BEGIN
SELECT idcliente,contacto,documento,estado from Cliente
END
GO
AS
BEGIN
SELECT idcliente,contacto,documento,estado from Cliente
END
GO
--PROCEDIMIENTO ELIMINAR CLIENTE
CREATE PROCEDURE SP_ELIMINAR_CLIENTE
@idcliente int
AS
BEGIN
DELETE from Cliente where idcliente=@idcliente
END
GO
@idcliente int
AS
BEGIN
DELETE from Cliente where idcliente=@idcliente
END
GO
--PROCEDIMIENTO ALMACENADO CAMBIAR ESTADO
CREATE PROCEDURE SP_CAMBIARESTADO_CLIENTE
@idcliente int,
@estado bit
AS
BEGIN
UPDATE Cliente set estado=@estado WHERE idcliente=@idcliente
END
GO
@idcliente int,
@estado bit
AS
BEGIN
UPDATE Cliente set estado=@estado WHERE idcliente=@idcliente
END
GO
Comentarios
Publicar un comentario