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服务器上调用的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
命令,truncate
参数可选,如果省略,默认值为FALSE。指定为TRUE时将在复制之前对表执行TRUNCATE
命令。count
指示服务器每隔n条记录报告一次状态信息,其中n是指定的记录数。在函数执行期间,每次迭代该计数时PolarDB PostgreSQL版(兼容Oracle)都会引发一个严重性为INFO的通知。例如,如果FeedbackCount为10,则dblink_ora_copy()会每隔10条记录引发一个通知。count
参数可选,如果省略,该值为0。