Rename script + remove triggers, view, procedure
All theses part will be moving on another script
This commit is contained in:
parent
87402c06fc
commit
1699aa747f
1 changed files with 0 additions and 98 deletions
|
@ -142,72 +142,6 @@ if __name__ == '__main__':
|
||||||
PRIMARY KEY (com,id_indicateur,date_debut)
|
PRIMARY KEY (com,id_indicateur,date_debut)
|
||||||
);""",
|
);""",
|
||||||
{'schema':AsIs(args.schema_name)})
|
{'schema':AsIs(args.schema_name)})
|
||||||
|
|
||||||
curs.execute("""
|
|
||||||
CREATE OR REPLACE VIEW %(schema)s.view_indicateur_dep AS
|
|
||||||
SELECT id_departement, d.dep, d.ncc, s.id_indicateur, s.date_debut, SUM(s.VALEUR)
|
|
||||||
FROM %(schema)s.departement d
|
|
||||||
INNER JOIN %(schema)s.commune c ON c.dep = d.dep
|
|
||||||
INNER JOIN %(schema)s.statistique s ON s.com = c.com
|
|
||||||
GROUP BY id_departement,d.dep, s.date_debut, d.ncc, s.id_indicateur
|
|
||||||
ORDER BY id_indicateur;""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
|
|
||||||
curs.execute("""
|
|
||||||
CREATE OR REPLACE VIEW %(schema)s.view_indicateur_reg AS
|
|
||||||
SELECT id_region, r.reg, r.ncc, s.id_indicateur, s.date_debut, SUM(s.valeur)
|
|
||||||
FROM %(schema)s.region r
|
|
||||||
INNER JOIN %(schema)s.departement d ON d.reg = r.reg
|
|
||||||
INNER JOIN %(schema)s.commune c ON c.dep = d.dep
|
|
||||||
INNER JOIN %(schema)s.statistique s ON s.com = c.com
|
|
||||||
GROUP BY id_region, r.reg, s.date_debut, r.ncc, s.id_indicateur
|
|
||||||
ORDER BY id_indicateur;""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
|
|
||||||
curs.execute("""
|
|
||||||
ALTER TABLE %(schema)s.region
|
|
||||||
ADD COLUMN IF NOT EXISTS population INT;
|
|
||||||
""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
|
|
||||||
curs.execute("""
|
|
||||||
ALTER TABLE %(schema)s.departement
|
|
||||||
ADD COLUMN IF NOT EXISTS population INT;
|
|
||||||
""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
|
|
||||||
curs.execute("""
|
|
||||||
CREATE OR REPLACE PROCEDURE %(schema)s.PRC_POP_REG_DEP()
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
AS $$
|
|
||||||
DECLARE
|
|
||||||
REC RECORD;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR REC IN (SELECT id_departement, ncc, SUM valeur
|
|
||||||
FROM %(schema)s.view_indicateur_dep v
|
|
||||||
WHERE id_indicateur = 1
|
|
||||||
AND date_debut = '2018') LOOP
|
|
||||||
|
|
||||||
UPDATE %(schema)s.departement
|
|
||||||
SET population = REC.valeur
|
|
||||||
WHERE id_departement = REC.id_departement;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
FOR REC IN (SELECT reg, SUM(population) valeur
|
|
||||||
FROM DEPARTEMENT d
|
|
||||||
GROUP BY REG) LOOP
|
|
||||||
|
|
||||||
UPDATE %(schema)s.region
|
|
||||||
SET population = REC.VALEUR
|
|
||||||
WHERE reg = REC.reg;
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
END;
|
|
||||||
$$;""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
conn.commit()
|
|
||||||
t.stop()
|
t.stop()
|
||||||
|
|
||||||
t.start('Import data from csv files')
|
t.start('Import data from csv files')
|
||||||
|
@ -245,36 +179,4 @@ if __name__ == '__main__':
|
||||||
conn.commit()
|
conn.commit()
|
||||||
t.stop()
|
t.stop()
|
||||||
|
|
||||||
t.start('Call procedure')
|
|
||||||
with conn.cursor() as curs:
|
|
||||||
curs.execute("CALL %(schema)s.PRC_POP_REG_DEP()",
|
|
||||||
{'schema':AsIs(args.schema_name)}
|
|
||||||
)
|
|
||||||
t.stop()
|
|
||||||
|
|
||||||
t.start('Add Modify Trigger')
|
|
||||||
with conn.cursor() as curs:
|
|
||||||
curs.execute("""
|
|
||||||
CREATE OR REPLACE FUNCTION %(schema)s.block_maj_reg_dep()
|
|
||||||
RETURNS TRIGGER AS $bloquage$
|
|
||||||
BEGIN
|
|
||||||
RAISE EXCEPTION
|
|
||||||
'Mise à jour non autorisé';
|
|
||||||
END;
|
|
||||||
$bloquage$ language plpgsql;
|
|
||||||
|
|
||||||
CREATE TRIGGER TRG_BLOQ_MAJ_REG
|
|
||||||
BEFORE INSERT OR UPDATE OR DELETE ON %(schema)s.region
|
|
||||||
|
|
||||||
FOR EACH ROW EXECUTE PROCEDURE %(schema)s.block_maj_reg_dep();
|
|
||||||
|
|
||||||
CREATE TRIGGER TRG_BLOQ_MAJ_DEP
|
|
||||||
BEFORE INSERT OR UPDATE OR DELETE ON %(schema)s.departement
|
|
||||||
|
|
||||||
FOR EACH ROW EXECUTE PROCEDURE %(schema)s.block_maj_reg_dep();
|
|
||||||
""",
|
|
||||||
{'schema':AsIs(args.schema_name)})
|
|
||||||
conn.commit()
|
|
||||||
|
|
||||||
t.stop()
|
|
||||||
conn.close()
|
conn.close()
|
Loading…
Add table
Add a link
Reference in a new issue