Store Procedure

25/09/2007 - 17:56 por Angel Lopez | Informe spam
Buen día a todos tengo un problema, espero que alguien me pueda ayudar.
Tengo el siguiente query

Declare @Cadena nvarchar(500)
Set @Cadena = '(dbo.Mon_Niño.Id_Pda = 10 Or dbo.Mon_Niño.Id_Pda = 7)'

Select dbo.Mon_Niño.Id_Pda, dbo.Mon_Niño.Id_Niño, dbo.Cat_Rangos.RangoI,
dbo.Cat_Rangos.RangoS,
dbo.Cat_Rangos.Descripcion,
YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento) AS Edad,
Sexo = CASE dbo.Mon_Niño.BAN_Sexo WHEN 0 THEN 'Masculino' WHEN 1 THEN
'Femenino' END
Into #tmpGral
From dbo.Mon_Niño INNER JOIN
dbo.Cat_Rangos ON YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento)

= dbo.Cat_Rangos.RangoI


AND YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento) <=
dbo.Cat_Rangos.RangoS
Where @Cadena
Order By dbo.Mon_Niño.Id_Pda, dbo.Mon_Niño.Id_Niño

En el WHERE pretendo insertar el valor de @Cadena, obviamente no me reconoce
la sentencia, como puedo decirle que coloque ese valor en el Where.

Agradeceré su valiosa ayuda.
 

Leer las respuestas

#1 Isaias
25/09/2007 - 18:58 | Informe spam
Angel

Requieres de query dinamico, con sus pros-y-contras.

DECLARE @SQLString NVARCHAR(1000)
DECLARE @Tabla sysname

SET @Tabla = 'CLIENTE'
SET @SQLString = N'SELECT * FROM '+@Tabla
EXECUTE SP_EXECUTESQL @SQLString
Saludos
IIslas


"Angel Lopez" wrote:

Buen día a todos tengo un problema, espero que alguien me pueda ayudar.
Tengo el siguiente query

Declare @Cadena nvarchar(500)
Set @Cadena = '(dbo.Mon_Niño.Id_Pda = 10 Or dbo.Mon_Niño.Id_Pda = 7)'

Select dbo.Mon_Niño.Id_Pda, dbo.Mon_Niño.Id_Niño, dbo.Cat_Rangos.RangoI,
dbo.Cat_Rangos.RangoS,
dbo.Cat_Rangos.Descripcion,
YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento) AS Edad,
Sexo = CASE dbo.Mon_Niño.BAN_Sexo WHEN 0 THEN 'Masculino' WHEN 1 THEN
'Femenino' END
Into #tmpGral
From dbo.Mon_Niño INNER JOIN
dbo.Cat_Rangos ON YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento)
>= dbo.Cat_Rangos.RangoI
AND YEAR(GETDATE()) - YEAR(dbo.Mon_Niño.FEC_Nacimiento) <=
dbo.Cat_Rangos.RangoS
Where @Cadena
Order By dbo.Mon_Niño.Id_Pda, dbo.Mon_Niño.Id_Niño

En el WHERE pretendo insertar el valor de @Cadena, obviamente no me reconoce
la sentencia, como puedo decirle que coloque ese valor en el Where.

Agradeceré su valiosa ayuda.

Preguntas similares