存储过程里创建dblink
时间: 2023-12-15 12:50:47 浏览: 94
oracle+存储过程+函数+dblink
5星 · 资源好评率100%
在存储过程中创建数据库链接需要使用动态SQL,因为链接名和链接地址是动态的,不能在静态SQL中使用。以下是一个示例代码:
```sql
CREATE OR REPLACE PROCEDURE my_proc AS
v_link_name VARCHAR2(30) := 'my_link';
v_link_address VARCHAR2(100) := 'host:port/service_name';
BEGIN
EXECUTE IMMEDIATE 'CREATE DATABASE LINK ' || v_link_name || ' CONNECT TO scott IDENTIFIED BY tiger USING ''' || v_link_address || '''';
END;
/
```
在上面的代码中,存储过程 `my_proc` 动态创建了一个名为 `my_link` 的数据库链接,链接地址为 `'host:port/service_name'`,链接用户为 `scott`,密码为 `tiger`。注意,在创建链接时,需要使用 `EXECUTE IMMEDIATE` 执行动态SQL语句。
阅读全文