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(省略時預設為 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)
如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。