Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2012, 13:17
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: relacion y inserccion tipo factura

amigos lo soluciene

primero de clare una variable cat int y cada la cual tomaba el valor cada vez que iteraba , adema en la tabla quite el array y lo coloque solo entero

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.   id_cat_s INTEGER[]
  6. ) RETURNS INTEGER AS $$
  7. DECLARE
  8. id_tabla BIGINT;
  9. cat INT;
  10. BEGIN
  11. id_tabla := secuenciaa();
  12. 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);
  13. FOR i IN 1..array_upper(id_cat_s,1) LOOP
  14. cat =id_cat_s[i];
  15. INSERT INTO subfenomenos VALUES (NEXTVAL('subfenomenos_id_sub_fenomeno_seq'),id_tabla,cat);
  16. END LOOP;
  17.  
  18. RETURN id_tabla;
  19. END;
  20. $$ LANGUAGE plpgsql;

Código SQL:
Ver original
  1. CREATE TABLE subfenomenos
  2. (
  3.   id_sub_fenomeno serial NOT NULL,
  4.   id_actividad INTEGER,
  5.   id_cat INTEGER,
  6. }