ORACLE触发器怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:45:10
表A里有字段a,b,c,d,e,f,g 我想写个触发器 无论表A update后哪个字段被更改,都往表B里插入一条记录 记录下修改的表名,字段名,表A的字段a的值,表A的修改字段名,修改字段的原值和修改字段的新值,修改时间.

CREATE OR REPLACE TRIGGER test
AFTER INSERT OR DELETE OR UPDATE ON A
BEGIN
IF INSERTING THEN
INSERT INTO B VALUES...;
ELSIF DELETING THEN
INSERT INTO B VALUES...;
ELSE
INSERT INTO B VALUES...;
END IF;
END test;
大体是这样.

先建表B怎么增加表名,字段名还不知道,也希望有人回答
create table B
(
“date” date, --修改时间
newa varchar2, --新a的值
olda varchar2, --老a的值
...
newg varchar2,
oldg varchar2
)

create or replace trigger update_data
aftre update on A
for each row
begin
insert into B values(sysdate,:new.a,:old.a,:new.b,:old.b,:new.c,:old.c,:new.d,:old.d,:new.e,:old.e,:new.f,:old.f,:new.g,:old.g);
end update_date;
/

好人真多,致敬一下