Buenas a todos,
Estaba realizando un procedimiento almancenado donde se para por parametro una serie de "abonados" que despues son usados en el Where dentro de un IN.
os pongo la sentencia completa, es sobre SQL 2000
Código:
CREATE PROCEDURE prc_00_pruebaIN
-- Add the parameters for the stored procedure here
@abonados nvarchar(1000)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT * FROM dbo.[system] WHERE cs_no IN (@abonados)
DECLARE @sql AS VARCHAR(1000)
SET @sql = 'SELECT * FROM dbo.[system] WHERE cs_no IN (' + @abonados + ')'
PRINT @sql
END
GO
bien, a la hora de ejecutar el procedimiento
si pongo esto, no muestra datos
Código:
prc_00_pruebaIN '''BB0048'',''BB9682'''
Pero si pongo esto, si muestra datos
Como vereis hago un print para ver como construye la consulta, pero luego no me muestra nada cuando le paso por parametro mas de un "abonado"
Que es lo que estoy haciendo mal? o es que lo que estoy intentando hacer no se puede hacer.
Podria ejecutar un EXEC sp_execute @sql PERO la consulta real sobre la que he de aplicar esto, ocupa mas de los caracteres permitidos por un tipo Nvarchar por lo que no puedo construir la SQL dinamicamente...
Alguna idea/sugerencia/solucion???
muchas muchas gracias!!!