使用序列生成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为表名