2016-04-27 29 views
0

即時嘗試爲我的表做觸發器。這個觸發器應該在我的時間表已被批准時觸發,這將計算標準工資,加班工資和退休金工資。退休金只在標準工資超過250美元時到期。這應該在前一週做到這一點,它應該更新我的工資表,計算出下一個ID將會是什麼,並在插入新記錄時插入新記錄到工資單中時間表表。我的sql觸發器編譯但在必要時不會觸發

經過數小時的試圖讓它工作,我終於到了一個點,我不知道我的問題在哪裏,因爲我不再有錯誤。 我想它可能與我的連接,但經過一些改動後仍然無法正常工作。

將不勝感激任何幫助。謝謝!

回答

2

null不是一個值 - 它的缺乏。因此,與任何期望值的操作符(例如您的案例中的!=)一起使用它的結果是「未知」,這不是「真正的」,因此條件不會被觸發。

爲了使長話短說 - 而不是使用!=運營商,你應該使用is not操作:

WHEN (new.timesheet_approved IS NOT NULL) 
-- Here ---------------------^ 
+0

現在即時得到這個錯誤: https://gyazo.com/b39c26bb1144eed66ac8113942a55ac8 – rockodile

+0

有沒有可能發現我的錯誤? – rockodile