請問
trigger 觸發時,是整批 還是 一筆資料呢?
比如
delete from A where age<20
他裡練有5 筆資料會被刪除
那trigger 在執行的時候,
是一筆一筆 deleted
還是 5筆一個批次 deleted
那向 整批BLUCK INSERT 時,他也是 整批5筆資料寫入嗎?
trigger 觸發時,是整批 還是 一筆資料呢?
他裡練有 5 筆資料會被刪除 那trigger 在執行的時候,是一筆一筆 deleted 還是 5筆一個批次 deleted 那向整批 BLUCK INSERT 時,他也是整批5筆資料寫入嗎?
DELETE FROM A WHERE age < 20
假設有5筆資料符合條件將被刪除,那麼在觸發器內部,deleted 虛擬表將包含這5筆被刪除的資料。這個觸發器只會觸發一次,並不會為每一筆被刪除的資料分別觸發。
處理觸發器時,應當預期可能會有多筆資料受到影響,而不只是一筆。
那向 整批BLUCK INSERT 時,他也是 整批5筆資料寫入嗎?
bulk insert 預設不會觸發 trigger,除非自行去啟用,可以參考該篇文章說明 - 在大量匯入資料時,控制觸發程序的執行