select con campos que pueden venir informados o no.

tema enviado por jilili en SQL Server
tema iniciado el 19/03/2010
hola, estoy llamando a un procedimiento almacenado de sqlserver 2008 desde visual basic.net. Como parámetros de entrada tengo dos campos que son CIF y CODIGO POSTAL. Estos campos pueden venir los dos informados o solo uno y ahí es donde tengo el problema. He validado los campos y dependiendo de si venía informado o no he ido montando la cadena del where pero no me deja, me obliga a poner el where dentro de la consulta. Esto es lo que estoy intentando hacer... Muchas gracias ALTER PROCEDURE [dbo].[CONSULTA] -- Add the parameters for the stored procedure here @var1 VARCHAR(10), @var2 VARCHAR(5) AS BEGIN declare @cif VARCHAR(10), @codpostal VARCHAR(5), @condicion VARCHAR(500)= ''; IF LEN(@cif) > 0 begin set @condicion = @condicion + 'where cif like "' + @cif + '"' end IF LEN(@codpostal)>0 begin set @condicion = @condicion + ' and codpostal like "' + @codpostal + '"' end set @condicion = @condicion + ';'; select * from dbo.empresas & @condicion; -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; END