Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Multiples sentencias sql a partir del resultado de un query ---->>aporte

Estas en el tema de Multiples sentencias sql a partir del resultado de un query ---->>aporte en el foro de PostgreSQL en Foros del Web. Hola, en esta ocacion no vengo a preguntar sino a hacer un aporte. Cuando algun dia necesetin, hacer operaciones como INSERT, UPDATE a diversas tablas ...
  #1 (permalink)  
Antiguo 05/04/2010, 10:25
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 9 meses
Puntos: 5
De acuerdo Multiples sentencias sql a partir del resultado de un query ---->>aporte

Hola, en esta ocacion no vengo a preguntar sino a hacer un aporte.

Cuando algun dia necesetin, hacer operaciones como INSERT, UPDATE a diversas tablas tomando como referencia los resultados de un SELECT previo, pueden usar esto como referencia.

en mi caso particular necesite obtener los nombre de una categoria de una tabla, para con ellos insertarlos en la respectiva tabla de categorias y posteriormente sobre la tabla inicial asignarle un codigo a dichas categorias.

Código MySQL:
Ver original
  1. CREATE OR REPLACE FUNCTION p_create_categories_info2009() RETURNS VOID AS
  2. $BODY$
  3.     sql_query   varchar;
  4.     i       integer;
  5.     group       integer;
  6.     query_result    RECORD;
  7.     DELETE FROM servcon_subgrupos WHERE idgrupo='200';
  8.    
  9.     sql_query := '  SELECT  DISTINCT categoria FROM servcon_infocomercio2009';
  10.     i         := 20000;
  11.     group     := 200;
  12.              
  13.     FOR query_result IN EXECUTE sql_query LOOP
  14.         sql_query := 'INSERT INTO servcon_subgrupos (idsubgrupo,nombresubgrupo,idgrupo,aplica_infocomercio,aplica_infocomercio2009)
  15.                   VALUES ($$'|| i ||'$$,$$'||query_result.categoria||'$$,$$'||group||'$$,1,1)';
  16.         EXECUTE sql_query;       
  17.  
  18.         sql_query := 'UPDATE servcon_infocomercio2009 SET codigo_categoria = $$'|| i ||'$$ WHERE categoria = $$'||query_result.categoria||'$$';
  19.         EXECUTE sql_query;       
  20.  
  21.         i := i +1;
  22.     END LOOP;
  23.     RETURN;
  24. END $BODY$
  25.  
  26. LANGUAGE 'plpgsql' VOLATILE
  27.  
  28. SELECT p_create_categories_info2009()

Etiquetas: multiples, partir, query, sentencias, sql, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:59.