在Oracle中,可以使用以下几种方法实现跨库关联查询:
-- 在数据库A中创建数据库链接
CREATE DATABASE LINK B_LINK CONNECT TO username IDENTIFIED BY password USING 'B';
-- 在数据库A中使用链接查询数据库B的数据
SELECT * FROM table@B_LINK;
-- 在数据库B中创建外部表
CREATE TABLE external_table (
column1 datatype,
column2 datatype,
...
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY directory_name
ACCESS PARAMETERS (
RECORDS DELIMITED BY newline
FIELDS TERMINATED BY ',' (
column1,
column2,
...
)
)
LOCATION ('data_file.csv')
)
REJECT LIMIT UNLIMITED;
-- 在数据库A中查询数据库B的数据
SELECT * FROM external_table;
-- 在数据库A中查询数据库A的数据
SELECT * FROM tableA
UNION ALL
-- 查询数据库B的数据
SELECT * FROM tableB;
需要注意的是,以上方法中的数据库链接和外部表需要在相应的数据库中创建和配置,且要求数据库之间有相应的访问权限。另外,跨库关联查询可能会对系统性能产生一定的影响,建议在实际应用中综合考虑性能和安全等因素。