dblink_exec — 在遠端資料庫中執行指令
dblink_exec(text connname, text sql [, bool fail_on_error]) returns text dblink_exec(text connstr, text sql [, bool fail_on_error]) returns text dblink_exec(text sql [, bool fail_on_error]) returns text
dblink_exec
在遠端資料庫中執行指令(也就是任何不回傳列的 SQL 陳述式)。
當提供兩個 text
引數時,第一個引數會先被當作持續連線的名稱來尋找;如果找到,該指令會在該連線上執行。如果找不到,第一個引數會被視為連線資訊字串,如同 dblink_connect
一樣,並且建立指示的連線僅在該指令的持續時間內有效。
connname
要使用的連線名稱;省略此參數以使用未命名的連線。
connstr
連線資訊字串,如先前針對 dblink_connect
所描述。
sql
您希望在遠端資料庫中執行的 SQL 指令,例如 insert into foo values(0, 'a', '{"a0","b0","c0"}')
。
fail_on_error
如果為 true(省略時的預設值),則連線的遠端發生錯誤也會在本地端引發錯誤。 如果為 false,則遠端錯誤會在本地端以 NOTICE 的形式報告,並且該函數的回傳值會被設定為 ERROR
。
回傳狀態,指令的狀態字串或 ERROR
。
SELECT dblink_connect('dbname=dblink_test_standby'); dblink_connect ---------------- OK (1 row) SELECT dblink_exec('insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');'); dblink_exec ----------------- INSERT 943366 1 (1 row) SELECT dblink_connect('myconn', 'dbname=regression'); dblink_connect ---------------- OK (1 row) SELECT dblink_exec('myconn', 'insert into foo values(21, ''z'', ''{"a0","b0","c0"}'');'); dblink_exec ------------------ INSERT 6432584 1 (1 row) SELECT dblink_exec('myconn', 'insert into pg_class values (''foo'')',false); NOTICE: sql error DETAIL: ERROR: null value in column "relnamespace" violates not-null constraint dblink_exec ------------- ERROR (1 row)
如果您在文件中看到任何不正確、與您特定功能的使用體驗不符或需要進一步澄清的地方,請使用此表單回報文件問題。