如何使用存储过程连接到另一个数据库?

eie*_*fai 11 oracle database-link stored-procedures

我需要从外部数据库获取一些数据并在另一个数据库中使用它进行一些计算,是否可以从存储过程连接到外部数据库?谢谢你们。

附注。

我使用 Oracle 并且两个数据库都在同一台服务器上。

REW*_*REW 10

您要使用数据库链接 (DBLink)。

http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm

http://psoug.org/reference/db_link.html

-- create tnsnames entry for conn_link
conn_link =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = perrito2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orabase)
    )
  )


CREATE DATABASE LINK conn_user
USING 'conn_link';

SELECT table_name, tablespace_name FROM user_tables@conn_user; 
Run Code Online (Sandbox Code Playgroud)

过程或表名末尾的@conn_user 将告诉 pl/sql 引擎查询为该信息指定的数据库链接。