我有以下触发器:
CREATE OR REPLACE TRIGGER test
AFTER INSERT OR UPDATE ON table_cust
FOR EACH row
BEGIN
IF(:NEW.visibility_flag='True') THEN
--Do something
END IF;
IF(:NEW.visibility_flag is null) THEN
--do something
END IF;
END test;
每次检查IS NULL条件时,我的触发器都不会执行。如果删除了空检查,则执行。我做错了什么?
答案 0 :(得分:0)
我认为你删除了“is null”部分,那么你只有IF(:NEW.visibility_flag) - >就像上面的那样(if(expression ='True') - 在下面的例子中你可以看到只输入一个IF语句:
CREATE OR REPLACE TRIGGER test
AFTER INSERT OR UPDATE ON table_cust
FOR EACH row
BEGIN
IF(:NEW.visibility_flag='True') THEN
--Do something
ELSE IF(NVL(:NEW.visibility_flag, '0') = '0') THEN
--do something
END IF;
END test;