Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2008, 10:23
edwinsp
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 1
matrices en postgres

Hola a todos, podrian por favor ayudarme estoy tratando de hacer inserciones a una tabla usando array, ya lo probe cuando se trata de un campo pero en la mayoria de casos sera mas de uno, en este caso ya seria una matriz, pero no se como definirla e implementarla
les muestro mi funcion
CREATE OR REPLACE FUNCTION "public"."pa_GrabarFact" (xnumero varchar, xcliente varchar, xtotal numeric, xdetalle integer []) RETURNS integer AS
$body$
BEGIN
insert into public."Cabecera"(numero,cliente,total)
values(xnumero,xcliente,xtotal);
FOR i IN array_lower(xdetalle,1) .. array_upper(xdetalle,1) LOOP
INSERT INTO public."Detalle"(numero,item)
VALUES(xnumero, xdetalle[i]);
END LOOP;
RETURN 1;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;

y la invoco con:
select "public"."pa_GrabarFact"('0000003','10167201534',5 0,ARRAY[1,2,3]) as resultado;

me funciona muy bien, pero necesita enviar mas de un campo

gracias