簡體   English   中英

在 SQL 中觸發檢查插入是否包含列的值

[英]In SQL Trigger check if an Insert contains a value for a column

我的 SQL 表中確實有一個觸發器,我正在嘗試檢查插入是否包含列Produktnummer的值。 我的理由是是否運行另一個由觸發器引起的插入。

在我的觸發器實際插入之前,我的觸發器中確實有這個。 IF NEW.Produktnummer IS NOT NULL OR NOT '' THEN后跟END IF最后。

我的觸發器如下所示:

IF NEW.Produktnummer IS NOT NULL OR NOT '' THEN
[This piece triggers another Insert]
END IF

但似乎 if 表達式總是正確的,即使我的插入甚至不包含NEW.Produktnummer的值。

我什至可以使用觸發器內的新變量檢查IS NOT NULL OR NOT ''還是有另一種方法可以有條件地在觸發器內運行語句?

''在 boolean 上下文中是 false-y,因此NOT ''為真,並且if條件始終為真。 看起來您打算使用<>運算符檢查Produktnummer

IF NEW.Produktnummer IS NOT NULL AND NEW.Produktnummer <> '' THEN
    -- trigger the other insert
END IF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM