dblink_ora函数和存储过程

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指定端口号。

    • asDBA参数可选,如果省略,默认值为FALSE。如果您要请求Oracle服务器的SYSDBA特权,则指定为TRUE。

    该形式下dblink_ora_connect() 返回TEXT值。

  • 第二种形式的特征如下:

    dblink_ora_connect(foreign_server_name, asDBA)

    其中:

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

    • asDBA参数可选,如果省略,默认值为FALSE。如果您要请求Oracle服务器的SYSDBA特权,则指定为TRUE。

    该形式的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服务器上调用的INSERTUPDATEDELETE 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命令,truncate参数可选,如果省略,默认值为FALSE。指定为TRUE时将在复制之前对表执行TRUNCATE命令。

  • count指示服务器每隔n条记录报告一次状态信息,其中n是指定的记录数。在函数执行期间,每次迭代该计数时PolarDB PostgreSQL版(兼容Oracle)都会引发一个严重性为INFO的通知。例如,如果FeedbackCount为10,则dblink_ora_copy()会每隔10条记录引发一个通知。count参数可选,如果省略,该值为0。