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伺服器上調用的INSERT、UPDATE或DELETESQL語句的文本。
該函數返回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。