求一个触发器代码
有两个表a,bak,表a的记录在删除和编辑时,要把被删除前/被编辑前的记录写成一条insert语句存入bak表
如:
insert into bak (sql) values('insert into a(id,value) values(1,''test'')')
请问这样的触发器要如何写??
问题点数:20、回复次数:6Top
1 楼zzl888(学习asp.net&C#……)回复于 2006-12-01 20:14:54 得分 0
哪位大哥进来说几句呀Top
2 楼baojianjun(包子)回复于 2006-12-01 21:31:41 得分 20
create or replace trigger tri_bak
before update or delete on a
for each row
declare
sql_txt varchar2(1000);
begin
sql_txt := 'insert into a (id,value) values ( '||to_char(:old.id)||',"'||:old.value||'")' ;
insert into bak (sql) values(sql_txt);
end;Top
3 楼zzl888(学习asp.net&C#……)回复于 2006-12-02 12:35:46 得分 0
先谢过,不过我实际情况是这样的
需要做这样操作的的表很多,字段也不是就这样简单,不同表的结构也不同,
不知能不能做一个通用的,不管什么表结构都适用的?Top
4 楼baojianjun(包子)回复于 2006-12-03 12:20:44 得分 0
做一个通用的,不管什么表结构都适用的?
理论上讲那是不可能的.Top
5 楼zzl888(学习asp.net&C#……)回复于 2006-12-03 16:56:15 得分 0
那样只能每个表都写一个了
我原是想能不能跟据表结构遍历字段,再根据字段类型生成这样的SQL语句。Top
6 楼jdsnhan(柳荫凉)回复于 2006-12-04 08:57:18 得分 0
明白一个关键性问题,触发器是依附于表的。所以,通用的可能性么有.至少我不知道,呵呵。Top





