繁体   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