【发布时间】:2013-08-26 04:49:26
【问题描述】:
表名:User_table
Uname pwd expire_date update_pwd_date
-------------------------------------------------------------
aaa aaa 30-AUG-2013 null
bbb bbb 01-SEP-2013 null
ccc ccc 15-sep-2013 null
ddd ddd 29-SEP-2013 null
所以当我们要更新pwd 列时,它应该自动将update_pwd_date 列更新为当前日期(sysdate)。
我想要这样的输出:
Uname pwd expire_date update_pwd_date
-------------------------------------------------------------
aaa eee 30-AUG-2013 23-AUG-2013
bbb fff 01-SEP-2013 23-AUG-2013
ccc ggg 15-sep-2013 23-AUG-2013
ddd hhh 29-SEP-2013 23-AUG-2013
实际上我正在尝试使用下面的触发器。但它不起作用。
create or replace trigger user_trg
before update of pwd
on user_tab
for each row
declare
Pragma autonomous_transaction;
begin
update user_tab set pas_update=sys date where pwd=:new.pwd;
commit;
end;
实际上我正在尝试低于触发器。但它不起作用。
创建或替换触发器用户_trg
在 user_tab 上更新 pwd 之前
对于每一行
宣布
Pragma自治事务;
开始
更新 user_tab set pas_update=sys date where pwd=:new.pwd`;
犯罪;
结束;
请问有人可以为这个查询提供解决方案吗?
【问题讨论】: