9.3 9.4 9.5 9.6 10 11 12 13 14 Current(15)
阿里云PostgreSQL 问题报告 纠错本页面

dblink_exec

名称

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的连接信息字符串, 并且指定连接为了该命令的整个时间段。

参数

conname

要使用的连接名称;省略这个参数使用未命名连接。

connstr

连接信息字符串,如先前描述的dblink_connect

sql

你希望在远程数据库中执行的SQL命令, 比如insert into foo values(0,'a','{"a0","b0","c0"}')

fail_on_error

如果真(忽略时缺省)那么在连接的远程端抛出的错误也会导致本地抛出错误, 如果假,那么远程错误在本地作为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)
<
/BODY >