ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROCEDIMIENTOS ALMACENADOS I


Enviado por   •  23 de Abril de 2015  •  795 Palabras (4 Páginas)  •  568 Visitas

Página 1 de 4

SQL SERVER

TEMA: PROCEDIMIENTOS ALMACENADOS

En esta oportunidad se utilizará, igualmente, la base de datos Northwind, que es una base de datos de ejemplo la cual se puede descargar desde Internet y con ella realizar los siguientes ejercicios:

PROCEDIMIENTOS ALMACENADOS

1. Todos los productos que inicien con un carácter (o varios) en especial

CREATE PROCEDURE usp_Producs_x_Name

@ProductName varchar(50)

AS

SELECT * FROM Products

WHERE Productname LIKE @ProductName+'%'

GO

Se ejecuta el procedimiento almacenado y luego se ejecuta

---Probar

execute usp_Producs_x_Name 'A'

2. Seleccionar el nombre del producto y su precio localizado por su campo código (ProductID). Esyte procedimiento utiliza 3 parámetros: 1 tipo INPUT (ProductID) y dos de salida OUTPUT (ProductName y UnitPrice). Dentro del procedimiento, los campos del registro seleccionado son guardados en los parámetros de salida y luego, fuera del procedimiento, se los transfieren a variables de memoria las que se visualizan con SELECT dándoles un ALIAS para visualización.

CREATE PROCEDURE usp_Producs_Traer_Nombre_Precio

@ProductID int,

@ProductName varchar(50) output,

@UnitPrice Money output

AS

SELECT @ProductName = ProductName,

@UnitPrice = UnitPrice

FROM Products

WHERE ProductID = @ProductID

GO

Luego de ejecutar el procedimiento anterior se procede a ejecutarlo.

---Probar

declare @Nombre varchar(50), @Precio Money

Execute usp_Producs_Traer_Nombre_Precio

10, @Nombre OUTPUT, @Precio OUTPUT

SELECT @Nombre AS Nombre, @Precio AS Precio

3. Procedimiento almacenado que cuente los productos que empiezan con un determinado character ( o caracteres)

CREATE PROCEDURE usp_Product_cantidad

@ProductName varchar(50)

AS

DECLARE @Cantidad int

SELECT @Cantidad = COUNT(*)

FROM Products

WHERE productName LIKE @ProductName+'%'

RETURN @Cantidad

GO

---Probar

DECLARE @R int

EXECUTE @R = usp_Product_cantidad 'A'

SELECT @R AS Cantidad

1. Realizar procedimientos almacenados similares pero que en lugar de seleccionar por campo nombre del producto (ProductName) se realice de acuerdo al código de la categoría (CategoryID).

Otros ejemplos:

Create procedure usp_Products_Todos

AS

SELECT *

FROM Products

GO

--Probar

usp_Products_Todos

exec usp_Products_Todos

execute usp_Products_Todos

--Ejemplo 2

--Parámetro de salida

CREATE PROCEDURE usp_Producs_PrecioMayor

@Precio money OUTPUT

AS

SELECT @precio = MAX(unitPrice) FROM Products

GO

--Probar

DECLARE @p money

execute usp_Producs_PrecioMayor @p OUTPUT

SELECT @p

-----Nota

--ALTER PROCEDURE para modificar el procedimiento

--Ejemplo 3

--Procedimiento con valor de re3torno

CREATE PROCEDURE usp_Products_cantidad

AS

DECLARE @cantidad int

SELECT @cantidad = COUNT(*) FROM Products

RETURN @cantidad

GO

--Probar

DECLARE @r int

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com