Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

P9 (Practica #9)

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

PROCEDIMIENTO ALMACENADO

Un procedimiento almacenado en SQL Server es un conjunto de instrucciones SQL que se guardan en el


sistema de base de datos del servidor y se ejecutan como una sola unidad lógica. Los procedimientos
almacenados pueden aceptar parámetros de entrada, realizar operaciones complejas en la base de datos y
devolver resultados o valores de salida.

Estos procedimientos se almacenan en el servidor de base de datos y se pueden llamar desde diferentes
aplicaciones o consultas SQL. Proporcionan una forma conveniente de encapsular la lógica de negocio o
funcionalidad compleja en el lado del servidor, lo que permite reutilizar y centralizar el código.

Algunas de las ventajas de utilizar procedimientos almacenados en SQL Server son:

1. Mejor rendimiento: Los procedimientos almacenados se compilan y almacenan en caché, lo que puede
mejorar el rendimiento de las consultas frecuentes.
2. Seguridad: Los procedimientos almacenados pueden asignar permisos de ejecución a los usuarios,
lo que permite controlar el acceso a la base de datos.
3. Modularidad: Los procedimientos almacenados permiten dividir la lógica de negocio en unidades
más pequeñas y manejables, lo que facilita el mantenimiento y la depuración del código.
4. Reutilización de código: Los procedimientos almacenados pueden ser utilizados por múltiples
aplicaciones o consultas, lo que promueve la reutilización del código y evita la duplicación.
5. Transaccionalidad: Los procedimientos almacenados pueden formar parte de transacciones, lo que
asegura que un conjunto de operaciones se realice de manera atómica y consistente.

En resumen, un procedimiento almacenado en SQL Server es una unidad de código que encapsula
instrucciones SQL y se guarda en el servidor de base de datos para su ejecución eficiente y
reutilizable.

Crear un procedimiento en sql

Para crear un procedimiento en sql, ir a la sección de Programmability, click derecho/New/Store


Procedure

Enseguida aparecerá un código predefinido

1
En el código predefinido usted puede incluir datos que describan al procedimiento como el autor, la
fecha de creación, descripción, entre otras activades

Usted puede cambiar el código de CREATE PROCEDURE por el siguiente.

1. Este procedimiento se llama “InsertaCliente”


2. Tiene 4 parámetros que se identifican con un @ antes del nombre e indican el tipo de datos del
parámetro a recibir
3. De igual forma incluye el código que ya se ha trabajo para insertar datos y los valores ahora
son los parámetros previamente declarados
4. Una vez que tiene el código puede ejecutar el procedimiento, en caso de que no haya algún error
de sintaxis, su procedimiento estará listo para ser usado
INSERTA CLIENTES

CREATE PROCEDURE [dbo].[InsertaCliente]


-- Add the parameters for the stored procedure here
(@idClie int,
@nom_clie varchar(50),
@tel_clie varchar(12),
@dir_clie varchar(28))

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here


INSERT INTO [dbo].[cat_clie]
([id_clie]
,[nom_clie]
,[tel_clie]
,[dir_clie])
VALUES
(@idClie,@nom_clie,@tel_clie, @dir_clie)
select * from Cat_Clie where id_clie=@idClie
END

2
Cuando el procedimiento ya esta ejecutado, ya se encuentra en la Base de datos y se ve de la siguiente
forma.

El procedimiento esta listo para ser tomado y ejecutarse en cualquier entorno de programación. Sin
embargo también lo podemos probar en sql. Para ello seleccionar el procedimiento, clik derecho,
ejecutar

Enseguida nos aparece una pantalla, que solicita los valores de los parametros, los cuales habrá que
poner de forma manual y en seguida ok y se verán los resultados del procedimiento almacenado

3
A CONTINUACIÓN SE MUESTRAN EJEMPLOS DE PROCEDIMIENTOS QUE PUEDEN SER DE UTILIDAD

1. PROCEDIMIENTO PARA ACTUALIZAR

CREATE PROCEDURE [dbo].[ActualizaCliente]


-- Add the parameters for the stored procedure here
@id_clie int,
@nombre nvarchar (50),
@telefono varchar (12),
@direcccion varchar(28)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here

UPDATE [Cat_Clie]
SET [nom_clie]=@nombre
,[tel_clie]=@telefono
,dir_clie=@direcccion
WHERE [id_clie] =@id_clie
SELECT * FROM Cat_Clie WHERE [id_clie] =@id_clie

END

4
2. BUSCA FACTURA POR id_Cliente

CREATE PROCEDURE [dbo].[BuscaFacturaProduc_PorCliente]


-- Add the parameters for the stored procedure here
@IdClie int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here


SELECT cat_clie.id_clie, cat_clie.nom_clie, factura.id_fact, det_factura.cant_art,
cat_articulo.nombre_art
FROM factura INNER JOIN
cat_clie ON factura.id_clie = cat_clie.id_clie INNER JOIN
det_factura ON factura.id_fact = det_factura.id_fact INNER JOIN
cat_articulo ON det_factura.id_art = cat_articulo.id_art
WHERE (cat_clie.id_clie = @IdClie)

END

3. BUSCA POR FECHA


CREATE PROCEDURE [dbo].[BuscaporFecha]
-- Add the parameters for the stored procedure here
@Fecha date
AS
BEGIN
/****** Script for SelectTopNRows command from SSMS ******/
SELECT [id_fact]
,[id_clie]
,[fecha_fact]
FROM [FACTURA].[dbo].[factura_2]
where fecha_fact=@Fecha
END

También podría gustarte