Mysql

在我的情況下,如何在刪除觸發器之後添加?

  • May 10, 2016

我正在 MySQL WorkBench 中製作醫院的數據庫管理系統,我想在我的案例中製作刪除後觸發器。場景是我有兩個表

  1. 目前住院的患者,該表表示為resident

  1. 這是我保存出院患者(即成功接受治療​​並走出醫院的患者)記錄的表格outpatient

現在,在Resident表中,我有一個名為 residentID 的列,它通過 Just there Unique Number 來區分在那裡的患者,並且outpatient我通過 OutpatientID 保存離開醫院的患者的記錄。

所以我想以這樣的方式製作一個觸發器,每當我寫一個DELETE FROM resident where residentID = 1比剛剛從resident表中刪除的人的 ID 進入Outpatient表時。那麼我們如何製作這樣的觸發器來做到這一點,我在這裡被問到了很多問題。這就是我想要的,任何輸入將不勝感激。

您應該使用 vbaluesOLD並在INSERT命令中使用它們。

像這樣的東西:

CREATE TRIGGER triger_name_after_delete
AFTER DELETE
  ON resident FOR EACH ROW
BEGIN
  -- Insert record into Outpatient table
  INSERT INTO Outpatient (residentID, [rest columns names...] )
  VALUES ( OLD.residentID, OLD.[rest columns names...])
END; 

也許您可以在INSERT之後創建DELETE。所以,如果你喜歡這種情況,你可以使用這個觸發器。

CREATE TRIGGER `delete_after_insert`
 AFTER INSERT
 ON  `outpatient`
 FOR EACH ROW 
 BEGIN
 DELETE FROM `resident` WHERE `residentID` = ''  
END;

您不需要舊值來插入門診病人。因為您首先插入並獲取駐留表上的刪除 ID。

引用自:https://dba.stackexchange.com/questions/138044