먼저 트리거와 해당 프로시저를 생성했지만 프로시저의 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 칼럼에 관한 내용입니다. 프로그램에서 어떻게 해야 하는지 이해가 안 되는 부분입니다.
정보 테이블은 다음과 같이 구성됩니다.
소스 1:
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 | |
대상 1은 다음과 같습니다.
ref | integer | | not null | | plain | |
date | date | | | | plain | |
designation | text | | | | extended | |
economie | double precision | | | | plain | |
commentaire | text | | | | extended | |