Hola Comunidad.
Estoy intentando crear un procedimiento almacenado(server2005) que recibe
determinados paramentros (pero algunos de estos parametros pueden ser nulos).
Lo que estoy intentando es construir la clausula WHERE en el procedimiento
almacenado, una vez construido el where lanzo el select mediasnte EXEC.
El problema esta con los parametros que son uniqueidentifier.
El codigo del procedimiento es el siguiente
ALTER PROCEDURE prueba
(
@pID uniqueidentifier
)
AS
DECLARE @WHERE nvarchar(300)
SET @WHERE='WHERE Respuesta.ID IS NOT NULL '
IF @pID IS NOT NULL
SET @WHERE=@WHERE+'AND cast(Respuesta.ID as nvarchar='+cast(@pID as
nvarchar(36))
Exec('SELECT Respuesta.ID AS ID,Respuesta.Puntuacion AS Puntuacion
FROM Respuesta '+ @WHERE)
Cuando el valor es null no hay problema, pero cuando le asigno un valor
me da el siguiente error:
Mens. 102, Nivel 15, Estado 1, Línea 3
Sintaxis incorrecta cerca de '='.
Si alguien puede aportarme alguna idea.
Gracias.
Leer las respuestas