Oracle触发器备份表数据
来源:互联网 发布:国家顶级域名 中文域名 编辑:程序博客网 时间:2024/05/14 13:55
1.通过行触发器备份表数据
-- 创建备份表,首次将数据全部备份create table emp2_bak as select * from emp2;-- 给备份表增加备份时间和是否被删除字段(1为删除)alter table emp2_bak add bakTime date;alter table emp2_bak add deleted number;-- 创建行触发器:当emp2有数据被删除时,将数据备份到emp2_bak表中,并记录删除时间create or replace trigger autoBakEmp2before delete on emp2for each rowbegin insert into emp2_bak values(:old.empno,:old.ename,:old.job,:old.mgr,:old.hiredate,:old.sal,:old.comm,:old.deptno,sysdate,1);end;
优点:备份数据教全面(每次删除被备份表数据时,都会自动将删除的记录插入到备份表中)。
缺点:大量删除时备份数据慢,业务数据冗余度高,当有重复数据删除或多次添加删除时,每次都会备份(不会区分差异数据)。
2.通过表级触发器备份表数据
-- 创建备份表create table emp3_bak as select * from emp3 where 1!=1;-- 每次删除表数据时,将删除前表数据与备份表数据根据id进行差异比较,如果存在差异,则将差异数据插入到备份表中,否则不处理。create or replace trigger autoBakEmp3before delete on emp3begin insert into emp3_bak (select * from emp3 where emp3.deptno not in(select deptno from emp3_bak));end;
优点:数据备份快,数据冗余度低(差异备份)。
缺点:不会备份每次删除的数据(必须保证被备份表的id每次都唯一,删除后不能再添加相同主键id,否则将无法再次备份删除该id的数据)。
1 0
- Oracle触发器备份表数据
- Oracle中用于数据备份的触发器及表结构
- 在Oracle数据库中,用于数据备份的触发器及表结构
- 在Oracle数据库中,用于数据备份的触发器及表结构
- Oracle数据库触发器实现数据的备份和同步
- Oracle备份表中数据
- oracle数据库表数据同步-触发器
- Oracle 触发器更新本表数据
- 用触发器来自动实时备份重要表数据--downmoon
- 用触发器来自动实时备份重要表数据--downmoon
- 用触发器来自动实时备份重要表数据
- 用触发器来自动实时备份重要表数据
- 用触发器来自动实时备份重要表数据
- Oracle 触发器数据同步
- oracle 触发器临时数据
- 利用备份恢复oracle的触发器
- ORACLE表数据触发器,仅保留一天的实时数据
- 用触发器对sqlserver进行数据备份
- leetcode 299. Bulls and Cows
- 【Java多线程与并发库】6.ThreadLocal类及应用技巧
- 如何修改Recovery的字符串资源(修改显示字体颜色和大小)
- export aborted becauser fatal lint errors were found . these are listed in the lint view,Either fix
- datagrid 行点击事件
- Oracle触发器备份表数据
- 第八周 OJ练习-2
- 题目1074:对称平方数【数位拆解】
- java注解详解(注解项目实战)
- 后台调用前台方法(能使用jquery的函数)
- JAVA实现随机无重复数字功能
- Tcl/tk string 几个常用
- Golang之旅1:从0到1
- android ContentProvider读取其他应用数据库