dblink_ora 支持以下函数和存储过程。

dblink_ora_connect()

dblink_ora_connect() 函数使用用户指定的连接信息与 Oracle 数据库建立连接。该函数采用两种形式;第一种形式的特征如下:

dblink_ora_connect(conn_name, server_name, service_name, user_name, password, port, asDBA)

其中:

  • conn_name 指定链接的名称。
  • server_name 指定主机的名称。
  • service_name 指定服务的名称。
  • user_name 指定用于连接到服务器的名称。
  • password 指定与用户名关联的密码。
  • port 指定端口号。

如果您要请求 Oracle 服务器的 SYSDBA 特权,则 asDBA 为 True。此参数是可选的;如果省略,则默认值为 FALSE。

第一种形式的 dblink_ora_connect() 返回 TEXT 值。

第二种形式的 dblink_ora_connect() 函数的特征如下:

dblink_ora_connect(foreign_server_name, asDBA)

其中:

foreign_server_name 指定外部服务器的名称。

如果您要请求 Oracle 服务器的 SYSDBA 特权,则 asDBA 为 True。此参数是可选的;如果省略,则默认值为 FALSE。

第二种形式的 dblink_ora_connect() 函数您使您可以在与服务器建立连接时使用预定义的外部服务器的连接属性。

在调用第二种形式的 dblink_ora_connect() 函数之前,使用 CREATE SERVER 命令将链接的连接属性存储到系统表中。调用 dblink_ora_connect() 函数时,将链接的名称替换为 CREATE SERVER 命令中指定的服务器名称。

第二种形式的 dblink_ora_connect() 返回 TEXT 值。

dblink_ora_status()

dblink_ora_status() 函数返回数据库连接状态。特征为:

dblink_ora_status(conn_name)

其中:

conn_name 指定链接的名称。

如果指定的连接处于活动状态,则该函数返回 TEXT 值 OK。

dblink_ora_disconnect()

dblink_ora_disconnect() 函数关闭数据库连接。特征为:

dblink_ora_disconnect(conn_name)

其中:

conn_name 指定链接的名称。

该函数返回 TEXT 值。

dblink_ora_record()

dblink_ora_record() 函数从数据库中检索信息。特征为:

dblink_ora_record(conn_name, query_text)

其中:

  • conn_name 指定链接的名称。
  • query_text 指定将在 Oracle 服务器上调用的 SQL SELECT 语句的文本。

该函数返回 SETOF 记录。

dblink_ora_call()

dblink_ora_call() 函数在 Oracle 数据库上执行非 SELECT 语句,并返回一个结果集。特征为:

dblink_ora_call(conn_name, command, iterations)

其中:

  • conn_name 指定链接的名称。
  • command 指定将在 Oracle 服务器上调用的 SQL 语句的文本。
  • iterations 指定执行该语句的次数。

该函数返回 SETOF 记录。

dblink_ora_exec()

dblink_ora_exec() 存储过程在远程数据库中执行 DML 或 DDL 语句。特征为:

dblink_ora_exec(conn_name, command)

其中:

  • conn_name 指定链接的名称。
  • command 指定将在 Oracle 服务器上调用的 INSERT、UPDATE 或 DELETE SQL 语句的文本。

该函数返回 VOID。

dblink_ora_copy ()

dblink_ora_copy () 函数将 Oracle 表复制到PolarDB PostgreSQL版(兼容Oracle)表。dblink_ora_copy() 函数返回一个 BIGINT 值,该值代表所复制的行数。特征为:

dblink_ora_copy(conn_name, command, schema_name, table_name, truncate, count)

其中:

  • conn_name 指定链接的名称。
  • command 指定将在 Oracle 服务器上调用的 SQL SELECT 语句的文本。
  • Schema_name 指定目标 schema 的名称。
  • Table_name 指定目标表的名称。
  • truncate 指定服务器是否应在复制之前对表执行 TRUNCATE 命令,指定 TRUE 将指示服务器应对表执行 TRUNCATE 命令。truncate 是可选的;如果省略,则值为 FALSE。
  • count 指示服务器每隔 n 条记录报告一次状态信息,其中 n 是指定的记录数。在函数执行期间,每次迭代该计数时PolarDB PostgreSQL版(兼容Oracle)都会引发一个严重性为 INFO 的通知。例如,如果 FeedbackCount 为 10,则 dblink_ora_copy() 会每隔 10 条记录引发一个通知。count 是可选的;如果省略,该值为 0。