oracle 触发器 序列 Database links 同义词

使用序列生成ID
create sequence SEQ_SPBBL(序列名称)
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 10;

create or replace trigger tri_SPBBL(触发器名)
  before insert on f_SPBBL(表名)
  for each row
declare
  -- local variables here
begin
  IF :NEW.ID IS NULL THEN
  SELECT seq_SPBBL.NEXTVAL INTO :NEW.ID FROM DUAL;
  END IF;
end tri_SPBBL; 

 

-- Create database link 
create database link db_1   
  connect to db_2_user identified by "db_2_user_password"
  using 'DEMO =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = db_2_ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db_2_server)
    )
  )';

其中,
       db_1是db link的名称;
       db_2_user是DB2这台机器上源数据库的用户名;
       db_2_user_password是密码;
       db_2_ip是DB2数据库地址,
       db_2_server是DB2数据库服务名。

这样就可以了,如果要访问B数据库的test表,可以“表名@数据链接名”这样用,如:

select * from test@db_1;


同义词

-- Create the synonym (创建同义词,先创建Database links)
create or replace synonym HMD_BDC_BDCDJ--同义词名称
for HMD.BDC_BDCDJ@TO_HMD2;--@后为Database links名称 HMD为用户名 BDC_BDCDJ为表名

 
posted @ 2018-10-17 13:37  高木子  阅读(348)  评论(0编辑  收藏  举报