原文地址:http://www.cnblogs.com/followingme/articles/1279080.html

今天下午需求的更改,要更改程序,

想了一下最后决定在不动程序

用一个简单的触发器搞定,由于2个数据库表不在同一个服务器上,就用到了DatabaseLinke

 

先把代码贴出来

 trgYCZG;

 

 开始测试第一遍不成功,后来发现,服务器上没有注册我用的本地服务名,有远程连接到服务器注册了一个服务名就ok了

------

其实还有一种写法就是直接把服务名的具体内容copy出来如下【推荐】


-- Create database link 
create public database link LINKGH
  connect 
to 数据库登陆用户名 identified by "password"
  using 
'
(DESCRIPTION =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器ip)(PORT = 1521))
 )
 (CONNECT_DATA =
 (SERVICE_NAME = oracle数据库全局名)
 )
 )
';
  
--创建触发器
create or replace trigger trgYCZG 
after 
update on  yczg
for each row
begin
  
update ghyczg@LINKGH set ycjcr=:NEW.YCJCR ,YCJCJG=:NEW.YCJCJG WHERE YCID=:OLD.YCID;
end trgYCZG;

 

数据库全局名称可以用以下命令查出

SELECT * FROM GLOBAL_NAME;

相关文章:

  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-24
  • 2021-12-04
  • 2022-12-23
猜你喜欢
  • 2021-10-16
  • 2022-03-06
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
  • 2021-09-17
相关资源
相似解决方案