比如说,现在一张表testTab,有三个属性,name,pwd,type.如果某一条记录的name或者pwd任意一个值更新了,就触发,把更新前的记录插入到testTab_bak中,但这条记录的type更新就不触发。这个触发器哪位高手能写出来?不胜感激
解决方案 »
- 统计学习时间SQL语句问题?
- 求分类统计sql语句
- 关于查询汇总性能的问题,请指教
- orcale数据库数据恢复问题,dbf;ora;log;ctl文件都有怎么恢复数据(急!急!急!急!)
- 怎样写SQL语句使学习起始时间的年份与学习结束时间的年份相同?
- 求一基本的SQL语句,在线等。解决后马上结贴。
- 请教:o9i中的一个update语句写法
- 关于VC下通过OCI连接ORCALE的一个问题
- 远程连接 oracle数据库提示:拒绝连接???怎么解决?出差在成都,碰上这个问题 ,在这捆了
- oracle7i数据导入oracle9i 出现字符集转换错误怎么解决呀
- windows 下 如何設定oracle 自動啟動時選指定的ora文件
- 菜鸟问问题:这句sql怎么错了?
2 after update of deptno,dname on dept
3 for each row
4 declare
5 -- local variables here
6 begin
7 insert into dept_bak values (:old.deptno,:old.dname,:old.loc);
8 end test;
9 /触发器已创建SQL> show error
没有错误。
SQL> select * from dept_bak;未选定行
SQL> update dept set deptno=50 where deptno=40;已更新 1 行。SQL> commit;提交完成。SQL> select * from dept_bak; DEPTNO DNAME LOC
---------- -------------- -------------
40 OPERATIONS BOSTON
SQL> update dept set dname='ACMILAN' where deptno=50;已更新 1 行。SQL> commit;提交完成。SQL> select * from dept_bak; DEPTNO DNAME LOC
---------- -------------- -------------
40 OPERATIONS BOSTON
50 OPERATIONS BOSTON
SQL> update dept set loc='beijing' where deptno=50;已更新 1 行。SQL> commit;提交完成。SQL> select * from dept_bak; DEPTNO DNAME LOC
---------- -------------- -------------
40 OPERATIONS BOSTON
50 OPERATIONS BOSTONSQL>
after update of deptno,dname on dept
for each row
declare
-- local variables here
begin
insert into dept_bak values (:old.deptno,:old.dname,:old.loc);
end test;