oracle远程触发器使用
Oracle远程触发器使用
目的:数据库A中的表A如果有更新(insert update),自动更新到数据库B表B上去。
操作步骤
1.建立数据库运程链接。(具体操作看数据库远程链接文档)
2.在数据库中建立dblink
在Database links new 一个新链接
Name 随便写
Connect to
Username:填写要链接数据库的username
Password :填写要链接数据库的password
Database: 填写要链接数据库的数据库名
点击apply应用。
3.添加insert触发器
在Triggers 添加触发器
Name:随便写
Firles: 选择after 表示操作在什么时候进行
Event:选择相应的操作
Table of view :选择要添加触发器的表
下面是编辑代码
/**/
create or replace trigger insertUsernmae
before insert on username 1
for each row
declare
-- local variables here
v_ID number(10); 2
v_USERNAME varchar2(100);
v_PASSWROD varchar2(100);
begin
v_ID := :new.id; 3
v_USERNAME := :https://www.360docs.net/doc/d076510.html,;
v_PASSWROD := :new.password;
insert into SG_LC@https://www.360docs.net/doc/d076510.html,(ID,JM,LB) values(v_ID,v_USERNAME,v_PASSWROD);
end insertUsernmae;
/**/
注释:
1.表示触发器在哪个表上面
2.申明几个变量用来接收触发时需要更新的参数
3.左边为变量接收右边为触发器所在的表属性new.属性名
4.横线的地方insert into SG_LC@ db_link的链接(这个在建立好
db_link之后编辑db_link就可以看到Copy过来就可以)
4.添加updatge 触发器
create or replace trigger updateusername
after update on username
for each row
declare
-- local variables here
v_ID number(10);
v_USERNAME varchar2(100);
v_PASSWROD varchar2(100);
begin
v_ID := :new.id;
v_USERNAME := :https://www.360docs.net/doc/d076510.html,;
v_PASSWROD := :new.password;
update SG_LC@https://www.360docs.net/doc/d076510.html, set
JM=v_USERNAME,LB=v_PASSWROD where ID=v_ID;
end updateusername;