首先,我创建一个触发器及其过程,但过程在 if 部分中缺少子语句
create trigger a_financereconnomiser after update of prix_reel on a_financer execute procedure payetoeconomie() ;
目前的程序是:
create or replace function payetoeconomie() returns trigger as $$
begin
if (select prix_estim-prix_reel from a_financer) >= 1 then
insert into economie (ref,designation,economie ) select ref*1000,date,objet,prix_estim-prix_reel from a_financer where prix_reel ;
end if ;
end $$
language 'plpgsql' ;
如果我尝试在这里使用它,psql 会回答该函数返回的不仅仅是一个唯一的行,这似乎是合乎逻辑的
所以我需要添加一个“该列在更新期间发生了变化“在prix_reel列上。这是我不明白如何在程序中做到这一点的事情。
信息表的构建如下:
来源一:
ref | integer | | not null | | plain | |
date | date | | | | plain | |
dl | date | | | | plain | |
prix_estim | integer | | | | plain | |
prix_reel | double precision | | | | plain | |
paye | integer | | | | plain | |
objet | text | | | | extended | |
besoin | integer | | | | plain | |
目的地一为:
ref | integer | | not null | | plain | |
date | date | | | | plain | |
designation | text | | | | extended | |
economie | double precision | | | | plain | |
commentaire | text | | | | extended | |