Python_scripts/3_AZALEE/gn_pr_zh/trigger_insert.py
2025-09-18 16:53:04 +02:00

36 lines
983 B
Python

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-.
from pycen import con
# import pycen
drop = '''
DROP TRIGGER IF EXISTS trigger_insert_new_zh ON gn_pr_zh.t_zh;
DROP FUNCTION IF EXISTS zones_humides.insert_new_zh();
'''
s2 = '''CREATE OR REPLACE FUNCTION zones_humides.insert_new_zh()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
INSERT into sites.sites (id,nom,date_deb,id_typo_sdage,remarques)
VALUES (new.code,new.main_name,new.create_date,(SELECT cd_nomenclature FROM gn_pr_zh.t_nomenclatures WHERE id = new.id_sdage),NULL);
INSERT into sites.r_sites_geom (id_site,geom,date,id_lot,id_origine)
VALUES (new.code,ST_TRANSFORM(new.geom,2154),new.create_date,NULL,new.zh_uuid::text);
RETURN NULL;
END;
$function$
;'''
s1 = '''CREATE TRIGGER trigger_insert_new_zh
AFTER INSERT OR UPDATE
ON gn_pr_zh.t_zh
FOR EACH ROW
EXECUTE FUNCTION zones_humides.insert_new_zh();
'''
with con.begin() as cnx:
cnx.execute(drop)
cnx.execute(s2)
cnx.execute(s1)