插入/更新後,我有this數據庫,我需要回答以下問題:PostgreSQL觸發插入table1中一個新的記錄表2中
「你需要有這將是函數一起創建觸發器當觸發器被觸發時執行,每次檢查患者並進行診斷(如果插入的約會診斷不爲空),患者的醫療文件夾將被更新。
這是我想出了:
CREATE OR REPLACE FUNCTION appointmentsFunction() RETURNS TRIGGER AS $appointmentsfunction$ DECLARE appointment_patientamka BIGINT := new.patientamka; appointment_cure TEXT := new.cure; appointment_drug_id INT := drug_id; appointment_diagnosis TEXT := new.diagnosis; BEGIN IF appointment_diagnosis is NOT NULL THEN INSERT INTO public.medicalfolder (patient,cure,drug_id) VALUES (appointment_patientamka,appointment_cure, appointment_drug_id); END IF; RETURN NEW; END $appointmentsfunction$ LANGUAGE plpgsql;
這是做的最好的做法/最佳方式是什麼?
PS。 patientamka作爲患者的身份證件。它也可以是有耐心的,但不是,按照我老師的指導原則。
PS2。醫療文件夾表可以包括同一患者的重複記錄。所以,我不需要用病人的id(patientamka)更新記錄,我只需要插入一個新的記錄。