Ver Mensaje Individual
  #1  
Antiguo 06-03-2007
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Question PLSQL - Pasar un array como parametro.

Hola a todos.

estoy usando PostgreSQL 8.1 y he creado una funcion algo así :

Código SQL [-]
CREATE FUNCTION "public"."fn0" (prm0 varchar, prm1 integer []) RETURNS integer AS
$body$
DECLARE
BEGIN
  -- AQUI HAGO ALGO CON ESE ARRAY.
  RETURN NULL;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;


esto para manejar un conjunto de líneas que he recopilado en un StringGrid despues de 4 consultas distintas y permitir la edición por parte del usuario.

podria procesar estas líneas una por una... pero entoces la ejecución dependeria de delphi y si a medio camino hay un error de programación o se corta el suministro de energia?

Entonces quiero pasarlo como un procedimiento para que la ejecución dependa de PostgreSQL . Pero quisiera pasar TODAS las líeas de mi StringGrid a la función y no una por una (muy parecido seria hacer consultas desde delphi )
Si tengo los siguientes datos:

Volante de venta : 0001

ProductoID,ProductoNom,ProductoVal
1,nombreproducto1,valorproducto1
2,nombreproducto2,valorproducto2
3,nombreproducto3,valorproducto3
4,nombreproducto4,valorproducto4

quisiera hacer algo como :

select public.fn0('VolanteNo', (codprod1, codprod2, codprod3, codprod4))

pero cuando hago esto, me dice:
Código SQL [-]
ERROR:  function public.fn0(character varying, record) does not exist
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.

y lo he intentado de varias maneras, he buscado un resto por la web, he leido la documentación y no se si me patina el coco o es que estoy mas rayao que el tablero de mi escuela primaria pero NO LOGRO ENCONTRAR SOLUCION.

Please!!!! alguien que me ayude.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita