有些时候 需要比较灵活的从两个数据库之间取数据 可以采用 oralc 的 dblink 方式。
create public database link DBLINK_CRS_***4
connect to username*** identified by password***
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ***.**.**.***)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME=******)
)
)';
这样就可以连接到 orcl数据库 灵活的取每一张表的数据了
--两个数据库都存在 tb_demo表 这是本表插入
--查询数据 sql和本地一样了 只是后面加个 DBLINK_CRS_***4 就等于是dblink连好的远程数据库了
INSERT INTO tb_demo
SELECT * FROM tb_demo@DBLINK_CRS_***4
where iyear=2011
and imonth=8 and flag=0
目前导出据的SQL , 由于字段不同, 那么,选择字段, ID 需要使用SEQUENCE生成。
insert into FLIGHT_****_****_**** (
BIG_******_ID,
BIG_******_ID,
FLI***HT_****_ID,
CREATOR,
CREATE_TIME)
SELECT seq_FLIGHT_***_****_****.Nextval,
big_****_****_no, aero_****_no, 10000, SYSDATE FROM BIG_SMALL_****_*****@DBLINK_ereadye