Estoy trabajando en un informe de SSRS que utiliza un procedimiento almacenado que contiene algunos parámetros. Tengo problemas con dos de los parámetros porque quiero tener la opción de seleccionar más de un elemento.Parámetro de valores múltiples de SSRS con un procedimiento almacenado
Aquí es una versión condensada de lo que tengo:
CREATE PROCEDURE [dbo].[uspMyStoredProcedure]
(@ReportProductSalesGroupID AS VARCHAR(MAX)
,@ReportProductFamilyID AS VARCHAR(MAX)
,@ReportStartDate AS DATETIME
,@ReportEndDate AS DATETIME)
--THE REST OF MY QUERY HERE WHICH PULLS ALL OF THE NEEDED COLUMNS
WHERE DateInvoicedID BETWEEN @ReportStartDate AND @ReportEndDate
AND ProductSalesGroupID IN (@ReportProductSalesGroupID)
AND ProductFamilyID IN (@ReportProductFamilyID)
Cuando intento basta con ejecutar el procedimiento almacenado sólo valores de retorno si entro a sólo 1 valor para @ReportProductSalesGroupID
y 1 @ReportProductFamilyID
valor. Si trato de ingresar dos SalesGroupID
y/o 2 ProductFamilyID
, no se produce un error, pero no devuelvo nada.
-- Returns data
EXEC uspMyStoredProcedure 'G23', 'NOF', '7/1/2009', '7/31/2009'
-- Doesn't return data
EXEC uspMyStoredProcedure 'G23,G22', 'NOF,ALT', '7/1/2009', '7/31/2009'
En SSRS me sale un error que dice:
sintaxisincorrecta cerca ''
Parece que el separador ,
está siendo incluido en la cadena en lugar de un delimitador
Puede usar: - SQL dinámico - Función definida por el usuario con valores de tabla Consulte [este enlace para obtener más información] (http://www.sql-server-helper.com/functions/comma-delimited-tablent). aspx). –
Alternativamente, este es un duplicado cercano de http://stackoverflow.com/questions/337704/parameterizing-a-sql-in-clause En particular, la solución de David Robbins se ve bien. –
Ok, lo hice y funciona si ejecuto EXEC uspMyStoredProcedure 'G23, G22', 'NOF, ALT', '8/1/2009', '8/9/2009' Pero tan pronto como lo intente en rs y seleccione más de un valor del menú desplegable (generado a partir de un conjunto de datos) obtengo una sintaxis incorrecta cerca de ',' No estoy seguro de qué me falta – user153949