Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2012, 08:34
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: problemas para realizar la inserccion de un array en postgresql

hola amigos lo soluciones

tenia un problema en la funcion en la parte del for

esta es la funcion corregida

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION inserciones(fec_ini_actividad DATE,fec_fin_actividad DATE,hor_ini_actividad CHARACTER VARYING(30),hor_fin_actividad CHARACTER VARYING(30),fen_actividad INTEGER,vol_actividad INTEGER,ban_actividad CHARACTER VARYING(20),nba_actividad INTEGER,
  2.   rep_actividad INTEGER,
  3.   obs_actividad text,
  4.   id_cat INTEGER[]
  5. ) RETURNS INTEGER AS $$
  6. DECLARE
  7. id_tabla BIGINT;
  8. BEGIN
  9. id_tabla := secuenciaa();
  10. INSERT INTO actividad VALUES (id_tabla,fec_ini_actividad,fec_fin_actividad,hor_ini_actividad,hor_fin_actividad,fen_actividad,vol_actividad,ban_actividad,nba_actividad,rep_actividad,obs_actividad);
  11. FOR i IN 1..array_upper(id_cat,1) LOOP
  12. END LOOP;
  13. INSERT INTO subfenomenos VALUES (NEXTVAL('subfenomenos_id_sub_fenomeno_seq'),id_tabla,id_cat);
  14. RETURN id_tabla;
  15. END;
  16. $$ LANGUAGE plpgsql;


y pruebo de la siguiente manera
Código SQL:
Ver original
  1. SELECT inserciones(TO_DATE('2012-11-17','YYYY-MM-DD'),TO_DATE('2012-11-17','YYYY-MM-DD'),'22:32'::CHARACTER VARYING,'22:32'::CHARACTER VARYING,1::INTEGER,1::INTEGER,'ff'::CHARACTER VARYING,1::INTEGER,1::INTEGER,'1',array[1,1,1]);