1. 程式人生 > >觸發器(二、BEFORE和AFTER的區別及使用場景)

觸發器(二、BEFORE和AFTER的區別及使用場景)

DML操作的行級觸發器,分為before和after兩類。

比如下面在同一張表上分別建了2個觸發器


然後用一個insert語句進行觸發


結果發現,這2類觸發器捕捉的:OLD和:NEW資料實際是一樣的。那麼什麼時候用before,什麼時候用after呢?

我們先要知道這2種觸發器的特性區別:before觸發器(針對insert和update操作)可以修改NEW的值

那麼before的應用場景就是:需要修改NEW值的時候,其餘場景一律使用after。

舉個需要修改:NEW值的情況:某個欄位資料庫中是NUMBER型的,比如年齡,而送過來的資料是帶字元的,比如“17歲”,直接寫入就報錯了,此時用觸發器把資料進行規範化處理後再寫入資料庫,就可以用before型別的資料庫。