我有一个名为medical_folder
的表格,其中有2列名为id_med_folder
和cure
,这是患者的身份和治疗方法。
我需要制作一个更新cure
列的触发器,
所以我创建了一个名为audit
的第二个表,其中列EMP_ID
和EMP_CURE
。
然后,通过触发器,我执行一个名为auditfunc()
的函数。
但是,当我尝试传递NEW.ID
和NEW.CURE
时,我收到了一个我无法理解的错误。
CREATE TABLE AUDIT(
EMP_ID INTEGER NOT NULL,
EMP_CURE TEXT NOT NULL
);
CREATE TRIGGER LeTrigger
AFTER UPDATE ON medical_folder
FOR EACH ROW EXECUTE PROCEDURE auditfunc();
CREATE OR REPLACE FUNCTION auditfunc()
RETURNS TRIGGER AS
$LeTrigger$
DECLARE
aidi integer Not null;
kiour text Not null;
BEGIN
INSERT INTO AUDIT(EMP_ID,EMP_CURE)
VALUES(NEW.ID, NEW.CURE);
aidi = New.ID;
kiour = New.Cure;
RETURN NEW;
WHEN medical_folder.id_med_folder = aidi THEN medical_folder.cure = kiour
END;
$LeTrigger$
LANGUAGE plpgsql;