dblink_build_sql_delete — construit une instruction de suppression en utilisant les valeurs fournies pour les champs de la clé primaire
dblink_build_sql_delete(text relname, int2vector primary_key_attnums, integer num_primary_key_atts, text[] tgt_pk_att_vals_array) returns text
dblink_build_sql_delete
peut être utile pour réaliser
une réplication sélective d'une table locale vers une base distante.
Elle construit une commande SQL DELETE
qui supprime
la ligne avec les valeurs indiquées de clé primaire.
relname
Le nom d'une relation locale, par exemple foo
ou
monschema.matable
. Ajouter des guillemets doubles
si le nom est en casse mixte ou contient des
caractères spéciaux, par exemple "FooBar"
;
sans guillemets, la chaîne est forcée en minuscule.
primary_key_attnums
Les numéros des attributs (commençant à 1) des champs de la clé primaire,
par exemple 1 2
.
num_primary_key_atts
Le nombre de champs de la clé primaire.
tgt_pk_att_vals_array
Les valeurs de champs de la clé primaire, à utiliser dans la commande
DELETE
résultante. Chaque champ est représenté dans
sa forme textuelle.
Renvoie l'instruction SQL demandée en tant que texte.
À partir de PostgreSQL 9.0, les numéros des
attributs dans primary_key_attnums
sont interprétés
comme des numéros logiques de colonnes correspondant à la position de la
colonne dans SELECT * FROM relation
. Les versions
précédentes interprétaient les numéros comme des positions physiques de
colonnes. Une différence existe si une des colonnes à gauche de la colonne
indiquée a été supprimé de la table.
SELECT dblink_build_sql_delete('"MyFoo"', '1 2', 2, '{"1", "b"}'); dblink_build_sql_delete --------------------------------------------- DELETE FROM "MyFoo" WHERE f1='1' AND f2='b' (1 row)