Necesito realizar una función que reconozca un conjunto de strings, que de hecho ya funciona, pero no logro pasarle los parámetros correctamente. La consulta pertenece a un cursor es algo así como la que sigue
Código SQL:
Ver original
SELECT DISTINCT res.id, res.perfil FROM dbo.TBL_1 res, dbo.TBL_2 cam, dbo.TBL_3 een WHERE res.PK_CAM_ID = cam.PK_ID AND cam.CAM_COD IN ('asdf1','asdf2','asdf3','asdf4')
en mi procedimiento almacenado intento reemplazar el listado de variables por @parametros y quedaría así
Código SQL:
Ver original
SELECT DISTINCT res.id, res.perfil FROM dbo.TBL_1 res, dbo.TBL_2 cam, dbo.TBL_3 een WHERE res.PK_CAM_ID = cam.PK_ID AND cam.CAM_COD IN (@parametros)
pero como lo recibe como un string, lo envía así
Código SQL:
Ver original
@parametros = '''asdf1'',''asdf2'',''asdf3'',''asdf4'''
y finalmente no reconoce los campos uno por uno, como un varchar separado por una coma. Intenté Pasar los parámetros de esta forma
Código SQL:
pero me arroja un error. ..... Y bueno ¿Alguien conoce la solución para este problema? Agradezco de antemano la colaboración que pudiesen aportar Ver original
SELECT * FROM dbo.SplitDelimited(@parametros,',')
, lo malo es que no puedo usar esa solución, ya que en la base de datos que uso, hay muchas restricciones no negociables, entre ellas la creación de tablas temporales. No sé el porque de esta restricción, y bueno, no me quieren dar permiso para crear temporales.


