Condicion IN con argumentos

27/01/2005 - 18:06 por Juan Sánchez | Informe spam
Saludos a todos.
Tengo un SP que ejecuto desde una aplicacion VB que contiene un SELECT
parecido a lo siguiente:

SELECT *
FROM Empleados
WHERE Oficina = @prmOficina

Esto me traería los empleados de una oficina específica de acuerdo al valor
del parámetro, pero deseo que me traiga de diferentes oficinas. Si no fuera
con parámetros sería algo como
SELECT *
FROM Empleados
WHERE Oficina IN (1, 3, 5)

Por ahora lo que se me ocurre es pasar los todos códigos de oficina a
consultar en un varchar, separados por un caracter especial (p.ej. el pipe)
digamos '1|3|5' y en el SP separar los códigos en una variable tipo TABLE,
para luego hacer la consulta.

Hay alguna otra forma????

Slds,
Juan
 

Leer las respuestas

#1 Rubén Vigón
27/01/2005 - 18:18 | Informe spam
Hola Juan,

Puedes resolverlo fácilmente 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