有两个表:
t_A和t_B
t_B表是空表,
t_A表中有数据,当修改和删除该表中一行记录时,这行记录所有字段内容插入t_B表中,在加上操作时间;同时修改时要插入两行记录,修改前和修改后的。
该怎么写这个触发器啊?先谢谢了
t_A和t_B
t_B表是空表,
t_A表中有数据,当修改和删除该表中一行记录时,这行记录所有字段内容插入t_B表中,在加上操作时间;同时修改时要插入两行记录,修改前和修改后的。
该怎么写这个触发器啊?先谢谢了
解决方案 »
- oracle 变量重复不能只显示一个数据
- OCI 读取CLOB数据问题,大家帮忙看看啊!!
- 如何把数据库中的视图结构导出来?
- 用 Oracle 更新时间的语句怎么写!
- 如何返回表中的第10行到第20行的纪录,如何返回表中倒数第20到倒数第10的纪录?
- 如何使用spfile,急,在线等
- 急急急,查詢結果格式顯示問題 在線等,請幫忙看看 謝謝
- 请教:Oracle中有没有与SQL Server中的Left join .....on ...语句相试的语句?
- 选取倒数10行记录怎么搞啊?
- oracle安装出现好多解决不了的问题!求大神门帮助啊!
- 请教:如何将XML数据存入oracle数据库
- 客户端检索应用程序时弹出“out of memeory”,是什么原因?如何解决?
2 after update on t_a
3 for each row
4 declare
5 -- local variables here
6 begin
7 insert into t_B (id, name, reason, Modifydate)values(:old.id, :old.name,
'old_record',sysdate);
8 insert into t_B (id, name, reason, Modifydate)values(:new.id, :new.name,
'new_record',sysdate);
9 end MODIFY_TAB_A;
10 /触发器已创建SQL> create or replace trigger DELETE_TAB_B
2 after delete on t_a
3 for each row
4 declare
5 -- local variables here
6 begin
7 insert into t_B (id, name, reason, Modifydate)values(:old.id, :old.name,
'del_record',sysdate);
8 end DELETE_TAB_B;
9 /触发器已创建SQL> update t_A set id = 5 where name = 'maomao';已更新 1 行。SQL> select * from t_B;ID NAME REASON MODIFYDATE
---------- ---------- ---------- -------------------
2 maomao old_record 2006-08-24 11:00:07
5 maomao new_record 2006-08-24 11:00:07
UPDATE ON T_A
FOR EACH ROW
DECLARE
BEGIN
insert into T_B (:OLD.IS_BALANCE,:OLD.WTRUCK_TIME,'修改前');
insert into T_B (:NEW.IS_BALANCE ,sysdate,'修改后');
END;以上编译报下面错误
Warning: Trigger created with compilation errors请楼上看看