Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2010, 14:17
XConspiracyX
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
Problema con Stored Procedures

Hola, estoy programando en ASP.NET con SQL Server, y todo funcionaba bien, hasta que decidi empezar a usar Stored Procedures. Tengo un problema con el 'like', ya que parece que cuando se lo usa normalmente en una consulta funciona bien, pero cuando se lo usa en combinacion con parametros no.

Esta es un ejemplo de una consulta, la cual funciona sin problemas, usando la BD pubs:

___________


select * from dbo.authors where state like 'CA' and zip like '946%'

___________


Sin embargo, cuando la escribo como un stored procedure, me da problemas.
Este es mi Stored Procedure:

___________________________


Alter Procedure PrimeraConsulta
(@state char(2), @zip char(5))
as

select * from dbo.authors
where ((state like case when @state is null then state else @state end)
and
(zip like case when @zip is null then zip else (@zip + '%') end))

________________________

exec PrimeraConsulta 'CA', '946%'

_________________________


Lo que quiero hacer es poder especificar el estado, y en cuanto al zip, basta con escribir los primeros dígitos, y por eso uso la sentencia 'like' junto con el '%'
Tambien, use un 'case end' para que si el parametro es dejado vacio, no se lo tome en cuenta.

Gracias de antemano