首页 > 解决方案 > 通过 case 语句使用插入、删除、更新谓词

问题描述

我正在为一个表创建一个触发器,我目前正在尝试执行不同的变量分配,具体取决于哪个 DLM 操作触发了触发器,如下所示:

if deleting then
    a := 'x';
    b := 'y';
if inserting then 
    a := 'y';
    b := 'x';

有什么方法可以让我做同样类型的事情,而是使用 CASE 语句?提前致谢。

标签: sqloracle

解决方案


显然,这可以简化为

a := CASE WHEN deleting THEN 'x' 
          WHEN inserting THEN 'y'
     END;

b := CASE WHEN deleting THEN 'y' 
          WHEN inserting THEN 'x'
     END;

但是,我不认为它被简化了。嗯...您可以根据自己的舒适度使用。


推荐阅读