轉載:一个记录表操作日志信息的触发器的问题!

偶刚接触oracle不久,了解还不是很深,现在有个触发器的问题想请教一下
需求是这样的,数据库中有几个表,想在每个表上建立一个触发器;
触发器的功能是,一旦表中的数据有变化后,通过触发器记录一些信息到日志表里,日志表里主要记录字段
tb_name(变更的表名),n_operate(操作),new_record(改变的记录),t_time(时间)
其中
n_operate(操作)指对表的修改和删除,插入;
new_record(改变的记录)想包括整条变化的数据,每个表的字段数不一样,所以这个地方不知道怎么写好?
自己大致写了一个:

CREATE OR REPLACE TRIGGER "tr_record"
BEFORE INSERT OR UPDATE OR DELETE
ON "tb_record"
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
Begin
INSERT INTO TB_LOG(TB_NAME,N_OPERATE,NEW_RECORD,T_TIME) VALUES (
(TB_NAME)____,
(N_OPERATE)____,
(NEW_RECORD)____,
to_char(sysdate,'YYYYMMDDHH24MISS')
);
End;
横线空白的地方想用一个变量来代替不知道有没有? 单个的新记录我知道用:NEW. 就可以表示出来,但是想让他更具有可移植性不知道能不能实现?
请各位帮忙填补一下上面的空 谢拉!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/266281/viewspace-495500/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/266281/viewspace-495500/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值