Como paso un parametro a una clausula IN(@parametro)

13/01/2005 - 01:27 por Jose Lopez | Informe spam
Pretendo pasar un parametro por medio de una variable de tipo Varchar pero
que se cumpla como complemento de un procedimiento Almacenado en una
condicion de un Select que maneja este procedimiento, mas o menos es asi:
______________________________________
CREATE PROCEDURE XX_SGI_AI_FACTURA_TR
@mes_ren int, @empresas varchar(100)
..
select *
from mi_tabla
where month(dateadd(month, @mes_ren, getdate()) )=month(fecha_incre) and
year(fecha_incre) =year(dateadd(month, @mes_ren, getdate())) and empre_cobra
in (@empresas)

______________________________________
y en esta ultima condicion esta el problema porque el campo de EMPRESA_COBRA
es numerico pero lo que necesito es que se incluya de acuerdo a una seleccion
una lista de los codigos de las empresas y el error es que no se puede
convertir la cadena a numero... pero no se como poner esta parte dinamica...
para que funcione...
Agradezco en mucho sus repuestas y aportes
gracias de nuevo.
 

Leer las respuestas

#1 Rubén Vigón
13/01/2005 - 12:44 | Informe spam
Hola Jose,

Yo lo resolvería con «OpenXML» y un parámetro XML en tu procedimiento almacenado; échale un vistazo a este artículo:

Implementación de argumentos variables mediante XML en SQL Server 2000
Cómo pasar un número de argumentos variables a los procedimientos almacenados usando XML, evitando el uso de SQL dinámico (sp_executesql)
http://www.mvp-access.com/rubenvigo...server.pdf

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://www.mvp-access.com/rubenvigon

Preguntas similares