您的位置:58编程 > PostgreSQL dblink_exec

PostgreSQL dblink_exec

2023-05-20 05:33

 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的连接信息字符串,并且被指出的连接只是在这个命令的持续期间被建立。

参数

connname

要使用的连接名。忽略这个参数将使用未命名连接。

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)
阅读全文
以上是58编程为你收集整理的 PostgreSQL dblink_exec全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS