trigger的问题

duquanxi 2008-10-26 11:37:28
数据库中每个表都有个ModifyTime字段,我想写个TRIGGER,每当insert or updata时可以把对应记录的这个字段更新为系统当前时间。
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfg2003 2008-11-04
  • 打赏
  • 举报
回复
学习中
duquanxi 2008-10-26
  • 打赏
  • 举报
回复
DROP TRIGGER UpdataModifyTime;
CREATE OR REPLACE TRIGGER UpdataModifyTime
AFTER INSERT OR UPDATA ON Employee
FOR EACH ROW
BEGIN
update Employee set ModifyTime = to_char(sysdate,'yyyy-mm-dd hh24:mi');
END;
这样写不会把Employee表中的每个记录中的ModifyTime都改了吧。
主要是我对FOR EACH ROW的用法不太清楚
duquanxi 2008-10-26
  • 打赏
  • 举报
回复
DROP TRIGGER UpdataModifyTime;
CREATE OR REPLACE TRIGGER UpdataModifyTime
AFTER INSERT OR UPDATA ON Employee
FOR EACH ROW
BEGIN
update Employee set ModifyTime = to_char(sysdate,'yyyy-mm-dd hh24:mi');
END;
如果我这样写不会把Employee表中每个记录的ModifyTime都改了吧。
duquanxi 2008-10-26
  • 打赏
  • 举报
回复
DROP TRIGGER UpdataModifyTime;
CREATE OR REPLACE TRIGGER UpdataModifyTime
AFTER INSERT OR UPDATA ON Employee
FOR EACH ROW
BEGIN
update Employee set ModifyTime = to_char(sysdate,'yyyy-mm-dd hh24:mi');
END;
如果我这样写不会把Employee表中每个记录的ModifyTime都改了吧。
BlueskyWide 2008-10-26
  • 打赏
  • 举报
回复

/--创建一个单表的insert和update触发器:

Create or replace trigger biu_tabletest
Before insert or update On tabletest
for each row
begin
if updating then
update tabletest set ModifyTime = sysdate;
elseif inserting then
insert into tabletest values(:field1, ...sysdate);
end if;
end biu_tabletest;



[Quote=引用楼主 duquanxi 的帖子:]
数据库中每个表都有个ModifyTime字段,我想写个TRIGGER,每当insert or updata时可以把对应记录的这个字段更新为系统当前时间。
[/Quote]

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧