SQL - Parametro en un procedimiento almacenado

 
Vista:

Parametro en un procedimiento almacenado

Publicado por Jesús (8 intervenciones) el 12/08/2002 14:09:53

Tengo el siguiente procedimiento almacenado :

CREATE PROCEDURE sp_miproc @lista_entrada varchar(255) AS
BEGIN

DECLARE @nitem varchar(20)
--print 'recibido : ' + @lista_entrada
DECLARE seleccion CURSOR FOR SELECT nitem from table where nitem in (@lista_entrada)

open seleccion
FETCH NEXT FROM seleccion INTO @nitem
--print 'status : ' + convert(varchar(5),@@fetch_status)
WHILE @@fetch_status = 0
BEGIN
print 'nitem : ' + @nitem
FETCH NEXT FROM seleccion INTO @nitem
END
CLOSE seleccion
DEALLOCATE seleccion
END

El tipo de dato nitem es varchar(20)

Cuando lo ejecuto con un solo elemento en la lista de entrada, funciona perfectamente :

EXEC sp_miproc @lista_entrada = 'VAR02000222'

Mi pregunta es ¿cómo debo pasarle la lista de entrada con más de un elemento?. He intentado :

'VAR02000222,VAR02000220'
'''VAR02000222'',''VAR02000220'''
'(''VAR02000222'',''VAR02000220'')'

Si no voy bien encaminado, ¿cual es la forma óptima de pasar una lista de valores a un
procedimiento almacenado para usarla en un cursor dentro del procedimiento almacenado?

Gracias. Jesús.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Parametro en un procedimiento almacenado

Publicado por EDELRIO (540 intervenciones) el 12/08/2002 17:01:08
Bueno no tiene que pasar ningun valor ya que usted esta utilizando un cursor y lo que hace es leer registro por registro...

Si usted quiere cada resultado leido irlo juntando le recomiendo declarar afuera del cursor una variable y luego irle jutando el valor que traiga en @nitem (Mucho Ojo que no se reinicialize....)

Espero esto le pueda ayudar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametro en un procedimiento almacenado

Publicado por Jesús (1 intervención) el 12/08/2002 17:15:31
Gracias por la respuesta, pero necesito pasar un conjunto de valores en una lista para restringir el conjunto de resultados del cursor "seleccion".
¿Como podría distinguir si no los registros de la tabla "table" que necesito tratar de los que no?.
Gracias de nuevo y espero que me puedas ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametro en un procedimiento almacenado

Publicado por Islas, Isaías (5072 intervenciones) el 12/08/2002 23:53:55
A su duda, ya di una respuesta en los foros de MICROSOFT GROUPS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametro en un procedimiento almacenado

Publicado por Jesús (8 intervenciones) el 13/08/2002 08:51:19
Ya lo ví. Quedo muy agradecido, pero como ya le dije en ese foro no entiendo muy bien esa respuesta. La agradecería enormemente que me pusiera un ejemplo , en la medida de lo posible, ajustado al código fuente que adjunté.
Gracias de nuevo. Jesús.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametro en un procedimiento almacenado

Publicado por Jesús (8 intervenciones) el 13/08/2002 09:03:17
Pido disculpas, he sufrido una pequeña descoordinación entre un for y el otro. Voy a probar su ejemplo y la comento los resultados.
Jesús.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar