Commit bf692940 authored by Sylvain Lesage's avatar Sylvain Lesage

función para llenar un resultado + supresión de todos los resultados

parent c1ecdf4c
......@@ -20,19 +20,28 @@ Primero instalar el servidor PostGreSQL con PostGIS
sudo aptitude install postgresql-9.1 postgresql-9.1-postgis postgis
sudo su postgres
dropdb geoelectoral
createuser -DlPRS geoelectoral
createdb geoelectoral -O geoelectoral
psql -c "ALTER ROLE geoelectoral SUPERUSER"
psql -d geoelectoral -U geoelectoral -W < dumps/geoelectoral_0.3.sql
psql -d geoelectoral -h localhost -U geoelectoral -W < dumps/geoelectoral_0.3.sql
psql -c "ALTER ROLE geoelectoral NOSUPERUSER"
exit
```
# Elecciones 2014
## Elección sin resultados
Para añadir la base para las elecciones de 2014 (sin resultados):
```
sudo su postgres
psql -d geoelectoral -U geoelectoral -W < script/upgrade_0.3_hacia_0.4.sql
exit
psql -d geoelectoral -h localhost -U geoelectoral -W < scripts/upgrade_0.3_hacia_0.4.sql
```
## Ingreso de resultados
Para añadir los resultados, lanzar
```
psql -d geoelectoral -h localhost -U geoelectoral -W < scripts/upgrade_0.4_hacia_0.5.sql
```
-------------------------------------------
-- Adición resultados de las elecciones 2014
-------------------------------------------
-- Function: public.f_insert_resultado_2014_plurinacional_votos(integer, integer, integer)
-- entradas:
-- * id_partido
-- * id_dpa
-- * resultado
CREATE OR REPLACE FUNCTION public.f_insert_resultado_2014_plurinacional_votos(
_id_partido integer
, _id_dpa integer
, _resultado integer) RETURNS int
AS $$
DECLARE
id_val int;
BEGIN
INSERT INTO public.resultados (id_eleccion, id_candidato, id_partido, id_tipo_partido, id_dpa, id_tipo_dpa, id_tipo_resultado, resultado)
SELECT e.id_eleccion, c.id_candidato, c.id_partido, c.id_tipo_partido, d.id_dpa, d.id_tipo_dpa, 1, _resultado
FROM public.resultados AS a
JOIN (
SELECT id_eleccion FROM public.elecciones WHERE ano = 2014 AND id_tipo_eleccion=1
) AS e ON true
JOIN (
SELECT id_eleccion, id_candidato, id_partido, id_tipo_partido FROM public.candidatos WHERE id_partido=_id_partido
) AS c ON (c.id_eleccion=e.id_eleccion)
JOIN (
SELECT id_dpa, id_tipo_dpa FROM public.dpa WHERE id_dpa=_id_dpa
) AS d ON true
RETURNING id_resultado INTO id_val;
RETURN id_val;
END;
$$
LANGUAGE plpgsql;
-- Supresión de todos los resultados de la elección 2014
DELETE
FROM public.resultados AS r
USING public.elecciones AS e
WHERE e.ano = '2014' AND e.id_tipo_eleccion='1' AND r.id_eleccion = e.id_eleccion;
-- Llenado de todos los resultados de la elección 2014
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment