sql - 通过 case 语句使用插入、删除、更新谓词
问题描述
我正在为一个表创建一个触发器,我目前正在尝试执行不同的变量分配,具体取决于哪个 DLM 操作触发了触发器,如下所示:
if deleting then
a := 'x';
b := 'y';
if inserting then
a := 'y';
b := 'x';
有什么方法可以让我做同样类型的事情,而是使用 CASE 语句?提前致谢。
解决方案
显然,这可以简化为
a := CASE WHEN deleting THEN 'x'
WHEN inserting THEN 'y'
END;
b := CASE WHEN deleting THEN 'y'
WHEN inserting THEN 'x'
END;
但是,我不认为它被简化了。嗯...您可以根据自己的舒适度使用。
推荐阅读
- javascript - React Error : 已声明但它的值从未被读取。[6133]
- highcharts - 如何在高角图表包装器中使用添加系列和更新方法?
- python - 我如何访问kivy中的全局变量
- chart.js - Chartjs条形图试图从数据集中获取标签
- javascript - 在Javascript引擎(v8)中,优化阶段的“隐式调用”到底是什么意思?
- jquery - c3条形图标签颜色
- reactjs - React Fusion Charts - 注释标签样式不起作用
- html - 在仪表板标题中间对齐具有可变长度的文本
- openebs - 从集群中删除一个工作节点后,OpenEBS 目标 pod 无法与其副本通信
- docker - 我如何使用 Dockerfile 开始使用 docker 容器