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

32 lines
706 B
Python

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-.
from pycen import con
# import pycen
drop = '''
DROP TRIGGER IF EXISTS trigger_end_zh ON gn_pr_zh.t_zh;
DROP FUNCTION IF EXISTS zones_humides.end_zh();
'''
s2 = '''CREATE OR REPLACE FUNCTION zones_humides.end_zh()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
IF (TG_OP = 'DELETE') then
UPDATE sites.sites
SET date_fin = current_timestamp
WHERE id = OLD.code;
END IF;
RETURN NULL;
END;
$function$
;'''
s1 = '''CREATE TRIGGER trigger_end_zh BEFORE
DELETE ON
gn_pr_zh.t_zh FOR EACH ROW EXECUTE FUNCTION zones_humides.end_zh()'''
with con.begin() as cnx:
cnx.execute(drop)
cnx.execute(s2)
cnx.execute(s1)