【发布时间】:2016-08-25 11:14:07
【问题描述】:
假设我有这样的事情:
UPDATE my_table set col2 = '5' where col1 = '111';
UPDATE my_table set col2 = '5' where col3 = '112';
现在我做了一个更新前触发器,我想知道 UPDATE 语句中使用的列(即 col1、col3)。换句话说,我可以看到触发器中使用的确切更新语句吗?这可能吗?
谢谢!
【问题讨论】:
-
不清楚您要达到的目标。触发器有什么作用?上面的更新是否在触发器内?
-
您想知道列字段还是分配给列的值?对于第二种情况,使用 :NEW 和 :OLD 指针可以获得更新前和更新后的值。但我认为您不能在触发器中动态获取列名。
-
@Rolson 我知道..我简短地说我想要做什么:我必须创建一个日志表,其中包含 my_table 上的更新(类似于指定操作的时间戳,在我的情况下更新) 然后我必须将旧版本的表更新为当前版本。清楚了吗?
-
好的。这个链接对techonthenet.com/oracle/triggers/before_update.php有帮助吗?