12/09/2006, 08:46
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años Puntos: 38 | |
Te anexo un ejemplillo, que utiliza la bd pubs que viene de ejemplo en SQL.
espero te sirva... un saludo
Código:
USE PUBS
GO
-- Elimina si existe el procedimiento
If 0 < (Select count(1) From dbo.SysObjects where Id = Object_Id(N'[dbo].[SelectStores]') and ObjectProperty(Id, N'IsProcedure') = 1)
Drop Procedure [dbo].[SelectStores]
Go
-- Genera stored procedure
Create procedure dbo.SelectStores
@stor_id char(4),
@city varchar(20),
@state char(2),
@zip char(5)
As
Select *
From stores
Where @stor_id = (case when @stor_id = '' Then @stor_id Else stor_id End) And
@city = (case when @city = '' Then @city Else city End) And
@state = (case when @state = '' Then @state Else state End) And
@zip = (case when @zip = '' Then @zip Else zip End)
GO
-------------------------------------------------------------------
-- Ejemplos de llamadas.
-------------------------------------------------------------------
Execute dbo.SelectStores '','','','' -- No se aplicará ningun filtro
Execute dbo.SelectStores '6380','','','' -- Se filtrará por stor_id
Execute dbo.SelectStores '','Seattle','','' -- Se filtrará por city
Execute dbo.SelectStores '','','WA','' -- Se filtrará por State
Execute dbo.SelectStores '','','','98056' -- Se filtrará por Zip
Execute dbo.SelectStores '','Seattle','WA','' -- Se filtrará por City and State
-- y asi sucesivamente, solo se filtraran por los parametros que tengan valor.
|