要创建触发器的表结构:
create table test (
aaa int,
bbb varchar(20),
ccc varchar(20),
ddd varchar(20),
eee varchar(20)
constraint test_PR_ PRIMARY KEY(aaa)
)对上表进行字段触发,如何动态产生更新触发器create trigger test_update
on test
for update
as
if update(aaa)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,aaa)
endelse if update(bbb )
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,bbb)
endelse if update(ccc)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,ccc)
endelse if update(ddd)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,ddd)
endelse if update(eee)
begin
select 主键旧值=D.aaa as 主键旧值 FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,eee)
end
end请问这个动态的sql语句如何实现.谢谢各位了.谢谢.
create table test (
aaa int,
bbb varchar(20),
ccc varchar(20),
ddd varchar(20),
eee varchar(20)
constraint test_PR_ PRIMARY KEY(aaa)
)对上表进行字段触发,如何动态产生更新触发器create trigger test_update
on test
for update
as
if update(aaa)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,aaa)
endelse if update(bbb )
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,bbb)
endelse if update(ccc)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,ccc)
endelse if update(ddd)
begin
select 主键旧值=D.aaa FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,ddd)
endelse if update(eee)
begin
select 主键旧值=D.aaa as 主键旧值 FROM deleted D
insert into A_TRIGER(表名,主键旧值,字段名) values('test',主键旧值,eee)
end
end请问这个动态的sql语句如何实现.谢谢各位了.谢谢.
解决方案 »
- 自定义的class,在import的时候为什么会出现软件包不存在?
- =======着急 问个关于jxl 的问题=========
- 编译时 oracle.sql.BLOB 中的 getBinaryOutputStream() 已过时
- J2ME和3G的关系 - 请大家畅所欲言
- 如何查看一个class文件是由那个jdk版本编译的
- 我今天面试的两道题,你做得出来吗?
- 关于类设计方面的问题,希望能够讨论讨论
- 请问:用FORTE FOR JAVA怎样连接ORACLE数据库,
- 问:为何右边的值无法赋给左边?(高分!)
- 又一个问题。。。
- 昨晚为了这句话我一夜都没睡觉,现在我发现我的智商太低了。。。。。。。。。。。。。。
- (高分求:)数据库视图设计问题
before update on test for each row....下面可以比较哪一列更新前后的值来判断是否要更新本列