lista de parametros procedure oracle

Saludos.
Necesitaría pasar una lista de parámetros (desde Delphi) de tipo number a un procedure para hacer algo así:
function StockArticulos(idArticulo in number, listaAlmacenes in ??) return number is
num number;
begin
select count(m.articulo)
into num
from movimientos_articulo m
where m.almacen in (listaAlmacenes)
grupy by m.articulo;
end;
Lo que no se es como pasar esta lista de numbers ya que puede contener uno o más elementos.
Gracias.

1 respuesta

1
Respuesta de
Hola.
Existen varias maneras de pasar una lista de valores en un solo parámetro. La elección depende del uso que se le quiera dar después.
Por ejemplo, para implementar un host-array yo utilizo variables tipo "tabla" (en realidad es como un array).
Pero para tu caso, una select con un "in (...)", yo lo haría pasando un parámetro tipo cadena (varchar2 por ejemplo) con la lista de valores separados con "coma" (1,2,3). Luego, en la función, utilizaría SQL dinámico para construir la query.
Si te interesa alguna de estas 2 maneras, dímelo y te mando u n ejemplo.
Un saludo,
Tinoco DBA (tinodba)
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje