Ver Mensaje Individual
  #30 (permalink)  
Antiguo 20/11/2012, 09:36
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Secuencia para dos tablas

huesos gracias por responder

los datos que se van a insertar a las dos tablas son enviados al mismo tiempo

en la primera tabla actividad (tabla padre )

en la segunda tabla subfenomenos (tabla hijo )

y necesito que en la tabla hijo se inserte el valor de la secuencia esa parte ya se realiza con la funcion que me ayudaste a construir

necesito que el segundo insert se repita dependiendo los detalles que se envien

me indicas de un ciclo for pero como le paso el valor limite de ese ciclo?

esta es la funcion que tengo

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION inserciones(fec_ini_actividad DATE, fec_fin_actividad DATE, hor_ini_actividad CHARACTER VARYING, hor_fin_actividad CHARACTER VARYING, fen_actividad INTEGER, vol_actividad INTEGER, ban_actividad CHARACTER VARYING, nba_actividad INTEGER, rep_actividad CHARACTER VARYING, obs_actividad text, id_cat INTEGER)
  2.   RETURNS INTEGER AS
  3. $BODY$
  4. DECLARE
  5. id_tabla BIGINT;
  6. BEGIN
  7. id_tabla := secuenciaa();
  8. 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);
  9. INSERT INTO subfenomenos VALUES (NEXTVAL('subfenomenos_id_sub_fenomeno_seq'),id_tabla,id_cat);
  10. RETURN id_tabla;
  11. END;
  12. $BODY$
  13.   LANGUAGE 'plpgsql' VOLATILE
  14.   COST 100;
  15. ALTER FUNCTION inserciones(DATE, DATE, CHARACTER VARYING, CHARACTER VARYING, INTEGER, INTEGER, CHARACTER VARYING, INTEGER, CHARACTER VARYING, text, INTEGER) OWNER TO postgres;