SHARE
TWEET

Untitled

a guest Oct 21st, 2019 96 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. do
  2. $do$
  3. declare
  4.      project proyectos%ROWTYPE;
  5.      type_mov varchar;
  6.      id_mov_select int;
  7.      presupuesto_valor int;
  8.      people_attending int;
  9.      type_rrss varchar;
  10.      constant int;
  11. begin
  12. id_mov_select := (SELECT max(id_mov) FROM dblink('conn', 'SELECT * FROM movilizacion_general') AS movilizacion_general(id_mov integer, id_ong integer, id_proy integer, presupuesto integer, tipo varchar));
  13. constant := 1;
  14. for project in SELECT * FROM proyectos, (SELECT proyectos.id_proyecto FROM proyectos, (SELECT DISTINCT(recursos.id_proyecto), aprobados, rechazados FROM recursos, (SELECT id_proyecto, COUNT(id_proyecto) AS aprobados FROM recursos WHERE status = 'aprobado' GROUP BY id_proyecto) AS ap, (SELECT id_proyecto, COUNT(id_proyecto) AS rechazados FROM recursos WHERE status = 'rechazado' GROUP BY id_proyecto) AS rech WHERE recursos.id_proyecto = ap.id_proyecto AND recursos.id_proyecto = rech.id_proyecto) AS rechazados_mayor WHERE upper(proyectos.comuna) LIKE upper('Antofagasta') AND proyectos.id_proyecto = rechazados_mayor.id_proyecto AND rechazados > aprobados UNION SELECT proyectos.id_proyecto FROM dblink('conn', 'SELECT id_proy FROM (SELECT id_proy, COUNT(id_mov) AS cantidad FROM movilizacion_general GROUP BY id_proy) AS proyecto_cantidad WHERE cantidad < 60') AS tabla_proy_menos60(id_proy int), proyectos WHERE proyectos.id_proyecto = tabla_proy_menos60.id_proy AND upper(comuna) LIKE upper('Antofagasta')) AS elected WHERE elected.id_proyecto = proyectos.id_proyecto
  15.  
  16. LOOP
  17.     id_mov_select := id_mov_select + constant;
  18.     RAISE NOTICE '%', id_mov_select;
  19.     type_mov := ('{marcha,redes sociales}'::text[])[ceil(random()*2)];
  20.  
  21.     presupuesto_valor := 11 / (SELECT COUNT(consultas.id_proyecto) FROM (SELECT proyectos.id_proyecto FROM proyectos,
  22.         (SELECT DISTINCT(recursos.id_proyecto), aprobados, rechazados FROM recursos,
  23.         (SELECT id_proyecto, COUNT(id_proyecto) AS aprobados FROM recursos WHERE status = 'aprobado' GROUP BY id_proyecto)
  24.         AS ap,
  25.         (SELECT id_proyecto, COUNT(id_proyecto) AS rechazados FROM recursos WHERE status = 'rechazado' GROUP BY id_proyecto)
  26.         AS rech
  27.         WHERE recursos.id_proyecto = ap.id_proyecto
  28.         AND recursos.id_proyecto = rech.id_proyecto) AS rechazados_mayor
  29.         WHERE proyectos.comuna = 'Antofagasta'
  30.         AND proyectos.id_proyecto = rechazados_mayor.id_proyecto
  31.         AND rechazados > aprobados
  32.         UNION
  33.         SELECT proyectos.id_proyecto FROM dblink('conn', 'SELECT id_proy FROM (SELECT id_proy, COUNT(id_mov) AS cantidad FROM movilizacion_general GROUP BY id_proy)
  34.         AS proyecto_cantidad WHERE cantidad < 60')
  35.         AS tabla_proy_menos60(id_proy int),
  36.         proyectos
  37.         WHERE proyectos.id_proyecto = tabla_proy_menos60.id_proy
  38.         AND comuna='Antofagasta') AS consultas);
  39.  
  40.  
  41.     INSERT INTO test(id_mov, id_ong, id_proy, presupuesto, tipo)
  42.     VALUES (id_mov_select,1,project.id_proyecto, presupuesto_valor,type_mov);
  43.  
  44.     IF ('marcha' = type_mov) THEN
  45.         people_attending := random()*(100000-100)+100;
  46.         INSERT INTO test_marcha(id_mov, fecha, lugar,n_esperado_personas)
  47.         VALUES (id_mov_select,CURRENT_DATE + 90 * interval '1 day','vitacura',people_attending);
  48.    
  49.     ELSE
  50.         IF(project.tipo = 1) THEN
  51.             type_rrss := 'spam';
  52.         ELSIF (project.tipo = 2) THEN
  53.             type_rrss := 'video';
  54.         ELSE
  55.             type_rrss := 'imagenes';
  56.         END IF;
  57.  
  58.         INSERT INTO test_rrss(id_mov,tipo_contendio, fecha, duracion)
  59.         VALUES (id_mov_select, type_rrss ,CURRENT_DATE, 90);
  60.  
  61.     END IF;
  62.  
  63. END LOOP;
  64. end;
  65. $do$;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top