oracle数据库、form表单开发、审计功能、触发器

前辈!大虾!俺想在自己建立的数据库中实现自己的审计功能,建立了一张表,如下:createtabledt_test(column(当前造作的字段名)varchar2(25)... 前辈!大虾!
俺想在自己建立的数据库中实现自己的审计功能,建立了一张表,如下:
create table dt_test(
column(当前造作的字段名)varchar2(25) not null,
username varchar2(25),
datetime date,
Modified char(1),
old char(100),
new char(100));
然后又建立了触发器,如下:
create or replace trigger liuh_dt
after insert or delete or update on iscap1_dt
begin
if inserting then
insert into dt_test values(xxxx,user,sysdate,'I',xxxx,xxxx);
elsif deleting then
insert into dt_test values(xxxx,user,sysdate,'D',xxxx,xxxx);
else
insert into dt_test values(xxxx,user,sysdate,'U',xxxx,xxxx);
end if;
end;
/
请问前辈大虾们!触发器该怎样来写啊?(其中sysdate要求精确时间到秒,在触发器里当前操作字段怎么写?修改前后的值怎么表示??????)
展开
 我来答
onigiri
2012-03-31 · TA获得超过142个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:134万
展开全部
分开来写,分insert, update, delete三个触发器。
给你个例子:
create or replace trigger tri_x after delete
on table_x for each row
declare
begin
insert into table_y(old_value,new_value)
values(old.col1,new.col1); --old旧值,所以新值是new.
commit;
end;
/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式