【发布时间】:2016-02-03 01:18:21
【问题描述】:
我对触发器还很陌生,并且已经尝试为我的问题寻找解决方案,但收效甚微。我想在活动列设置为 1 时更新单行的开始时间列。
我在my_table 中有两列ACTIVE(数字)和START_TIME(时间戳)。我想创建一个 PL/SQL 触发器,每当 update 语句应用于 ACTIVE 列时,将 START_TIME 列更新为 current_timestamp - 将其设置为 1。
到目前为止,我只看到了插入新行或更新整个表的示例,这不是我想要做的。我原以为我的问题会有一个相当简单的解决方案。
这是迄今为止我从其他示例中得到的。我知道我的解决方案的结构很差,我要求任何输入来修改我的触发器以达到我想要的结果。
CREATE OR REPLACE TRIGGER routine_active
AFTER UPDATE ON my_table
FOR EACH ROW
WHEN (my_table.ACTIVE = 1)
begin
insert my_table.start_time = current_timestamp;
end;
\
【问题讨论】: