DB2:忽略更新触发器中的列

时间:2015-10-15 17:02:58

标签: sql triggers db2

我正在尝试在DB2中编写一个触发器,它会触发所有列的更新,但会在表中触发一个。我正在寻找一种方法来忽略"触发器中的列。我需要的是类似于以下代码段(如SQL Server所述here):

IF NOT (UPDATE(column_1)) 
BEGIN
...
END

如果我正确理解DB2触发器语法(link),那么这在DB2中是不可能的。

提取物:

>--+-INSERT--------------------------+--ON--+-table-name-+------>
   +-DELETE--------------------------+      '-view-name--'   
   '-UPDATE--+---------------------+-'                       
             |     .-,-----------. |                         
             |     V             | |                         
             '-OF----column-name-+-' 

我最终做的只是列出同一个表的所有其他列(因此,选择而不是选择退出):

UPDATE OF column_2, column_3, column_4

但是,我想知道是否有更好的方法可以做到这一点。我在DB2 8.2上,但是如果有一个适用于未来版本的解决方案,我也会对它有所了解。希望有一天我们会升级。谢谢!

1 个答案:

答案 0 :(得分:0)

为了完整性和其他任何有相同问题的人,我必须提到问题中描述的解决方法确实是要走的路。 DB2语法不允许您排除(忽略)各个列。