dblink_exec — exécute une commande sur une base de données distante
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
exécute une commande (c'est-à-dire toute
instruction SQL qui ne renvoie pas de lignes) dans une base de données
distante.
Quand deux arguments de type text
sont fournis, le premier
est d'abord considéré comme nom d'une connexion persistante ; si cette
connexion est trouvée, la commande est exécutée sur cette connexion. Dans
le cas contraire, le premier argument est traitée comme une chaîne de
connexion pour dblink_connect
, et la connexion
indiquée n'est maintenue que pour la durée d'exécution de cette
commande.
connname
Le nom de la connexion à utiliser ; ce paramètre doit être omis pour utiliser une connexion sans nom.
connstr
Une chaîne de connexion similaire à celle décrite précédemment pour
dblink_connect
.
sql
La commande SQL à exécuter sur la base de données
distante ; par exemple
INSERT INTO foo VALUES(0, 'a', '{"a0","b0","c0"}')
.
fail_on_error
Si true (valeur par défaut en cas d'omission), une erreur distante
est reportée localement comme une erreur locale. Dans le cas contraire, un
message d'erreur distant est traité localement comme un message de type
NOTICE, et la valeur de retour de la fonction est positionné à
ERROR
.
Renvoie le statut de la commande ou ERROR
en cas
d'échec.
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)