oracle触发器(当插入或删除或修改一张表A时,能把新数据同步到另一张结构相同的表B里面)
2012-05-22 12:25
337 查看
oracle触发器(当插入或删除或修改一张表A时,能把新数据同步到另一张结构相同的表B里面)
create or replace trigger testT
AFTER INSERT OR UPDATE OR DELETE ON A
for each row
declare
-- local variables here
begin
IF INSERTING THEN
INSERT INTO b(a,b) VALUES(:NEW.a,:NEW.b);
ELSIF DELETING THEN
DELETE FROM b WHERE a=:OLD.a;
ELSE
UPDATE b SET b=:NEW.b WHERE a=:OLD.a;
END IF;
end testT;
SQL> desc a
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A VARCHAR2(20) Y
B VARCHAR2(20) Y
SQL> desc b;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A VARCHAR2(20) Y
B VARCHAR2(20) Y
SQL> insert into a values('a','b');
1 row inserted
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
a b
SQL> update a set b='c' where a='a';
1 row updated
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
a c
SQL> delete from a where a='a';
1 row deleted
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
SQL>
create or replace trigger testT
AFTER INSERT OR UPDATE OR DELETE ON A
for each row
declare
-- local variables here
begin
IF INSERTING THEN
INSERT INTO b(a,b) VALUES(:NEW.a,:NEW.b);
ELSIF DELETING THEN
DELETE FROM b WHERE a=:OLD.a;
ELSE
UPDATE b SET b=:NEW.b WHERE a=:OLD.a;
END IF;
end testT;
SQL> desc a
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A VARCHAR2(20) Y
B VARCHAR2(20) Y
SQL> desc b;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A VARCHAR2(20) Y
B VARCHAR2(20) Y
SQL> insert into a values('a','b');
1 row inserted
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
a b
SQL> update a set b='c' where a='a';
1 row updated
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
a c
SQL> delete from a where a='a';
1 row deleted
SQL> commit;
Commit complete
SQL> select * from b;
A B
-------------------- --------------------
SQL>
相关文章推荐
- oracle触发器(当插入或删除或修改一张表A时,能把新数据同步到另一张结构相同的表B里面)
- mysql 删除一张表里面的数据但不删除表结构
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- 比较两个DataTable数据(结构相同),返回新增的,删除的,修改前的,修改后的 DataTable
- 对于分页视图里面修改数据,在DAL层提示存储区更新、插入和删除语句影响到了意外的行数(0)的原因
- SQL SERVER 2008的几个新东西:插入,删除,修改一起来(适合数据的同步)-----merger
- Oracle触发器修改数据时同步执行插入该条数据
- 相同表结构 一个表结构插入更新删除更新同步另外一个表 触发器设计 inserted,deleted 均为系统临时表
- oracle触发器添加更新删除数据到相同结构临时表
- Sqlite插入、修改、删除表里面的数据
- 如何让gg只同步数据插入操作,其他的像删除和修改操作不同步?
- Sqlite插入、修改、删除表里面的数据
- 比较两个DataTable数据(结构相同),返回新增的,删除的,修改前的,修改后的 DataTable
- 数据结构--双向循环链表--插入和删除
- 【数据结构】——搜索二叉树的插入,查找和删除(递归&非递归)
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- Mysql学习3——查看表结构、修改和删除数据表
- sqlserver 数据同步,无法修改发布数据库表结构
- 算法学习-数据结构之链表操作,创建,插入,删除,查找。
- Oracle 触发器 插入,更新,删除,数据同步,两表同步