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
的连接信息字符串,
并且指定连接为了该命令的整个时间段。
要使用的连接名称;省略这个参数使用未命名连接。
连接信息字符串,如先前描述的dblink_connect
。
你希望在远程数据库中执行的SQL命令, 比如insert into foo values(0,'a','{"a0","b0","c0"}')。
如果真(忽略时缺省)那么在连接的远程端抛出的错误也会导致本地抛出错误, 如果假,那么远程错误在本地作为NOTICE被报告, 并且函数的返回值设置为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)