1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| BEGIN -- commencer la fonction
-- Champs de la table pour lesquels des valeurs peuvent être ajoutées
IF (TG_OP ='INSERT')THEN -- Si on fait une insertion
INSERT INTO site.site_cenca_test VALUES (nextval('site.site_cenca_test_site_id_seq'::regclass), -- on insère dans la table site les valeurs suivantes
new.code_cenca,
new.id_mnhn,
new.idfcen,
new.cen,
new.codesite,
new.nomsite,
new.tmacqu,
new.surfacqu,
new.tmbail,
new.surfbail,
new.tmbailru,
new.surfbailru,
new.tmbailpr,
new.surfbailpr,
new.tmpret,
new.surfpret,
new.tmconv,
new.surfconv,
new.tmconvt,
new.surfconvt,
new.tmautre,
new.surfautre,
new.surftottmf,
new.surftottmu,
new.surftottm,
new.surftotsig,
new.contratagr,
new.nbagri,
new.surfcontra,
new.rnn,
new.rnr,
new.rnc,
new.gestrnn,
new.gestrnr,
new.gestrnc,
new.convrnn,
new.convrnr,
new.convrnc,
new.surfcvrnn,
new.surfcvrnr,
new.surfcvrnc,
new.inclurnn,
new.inclurnr,
new.inclurnc,
new.surfinrnn,
new.surfinrnr,
new.surfinrnc,
new.ens,
new.tmil,
new.cdl,
new.compe,
new.surf_comp,
new.fddot,
new.surf_fddot,
new.tmilieux,
new.code_geol,
new.refnum,
new.echellenum
RETURN NEW; --on renvoie les nouvelles valeurs
-- Champs de la table site pour lesquels des valeurs peuvent être modifiées
ELSIF(TG_OP ='UPDATE') THEN -- Si on est en mode modification
UPDATE site.site_cenca_test SET site_id = new.site_id, -- On met à jour les champs avec les nouvelles valeurs
code_cenca = new.code_cenca,
id_mnhn = new.id_mnhn,
idfcen = new.idfcen,
cen = new.cen,
codesite = new.codesite,
nomsite = new.nomsite,
tmacqu = new.tmacqu,
surfacqu = new.surfacqu,
tmbail = new.tmbail,
surfbail = new.surfbail,
tmbailru = new.tmbailru,
surfbailru = new.surfbailru,
tmbailpr = new.tmbailpr,
surfbailpr = new.surfbailpr,
tmpret = new.tmpret,
surfpret = new.surfpret,
tmconv = new.tmconv,
surfconv = new.surfconv,
tmconvt = new.tmconvt,
surfconvt = new.surfconvt,
tmautre = new.tmautre,
surfautre = new.surfautre,
surftottmf = new.surftottmf,
surftottmu = new.surftottmu,
surftottm = new.surftottm,
surftotsig = new.surftotsig,
contratagr = new.contratagr,
nbagri = new.nbagri,
surfcontra = new.surfcontra,
rnn = new.rnn,
rnr = new.rnr,
rnc = new.rnc,
gestrnn = new.gestrnn,
gestrnr = new.gestrnr,
gestrnc = new.gestrnc,
convrnn = new.convrnn,
convrnr = new.convrnr,
convrnc = new.convrnc,
surfcvrnn = new.surfcvrnn,
surfcvrnr = new.surfcvrnr,
surfcvrnc = new.surfcvrnc,
inclurnn = new.inclurnn,
inclurnr = new.inclurnr,
inclurnc = new.inclurnc,
surfinrnn = new.surfinrnn,
surfinrnr = new.surfinrnr,
surfinrnc = new.surfinrnc,
ens = new.ens,
tmil = new.tmil,
cdl = new.cdl,
compe = new.compe,
surf_comp = new.surf_comp,
fddot = new.fddot,
surf_fddot = new.surf_fddot,
tmilieux = new.tmilieux,
code_geol = new.code_geol,
refnum = new.refnum,
echellenum = new.echellenum,
WHERE site_id =OLD.site_id;
RETURN NEW ;
-- Champs de la table inventaire pour lesquels des valeurs peuvent être supprimées
ELSIF(TG_OP ='DELETE') THEN
DELETE FROM site.site_cenca_test WHERE id = OLD.id;
RETURN NULL;
END IF;
RETURN NEW;
END; |
Partager