PostgreSQLLa base de données la plus sophistiquée au monde.

dblink_build_sql_delete

dblink_build_sql_delete — construit une instruction de suppression en utilisant les valeurs fournies pour les champs de la clé primaire

Synopsis

    dblink_build_sql_delete(text relname,
                            int2vector primary_key_attnums,
                            integer num_primary_key_atts,
                            text[] tgt_pk_att_vals_array) returns text
   

Description

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.

Arguments

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.

Valeur de retour

Renvoie l'instruction SQL demandée en tant que texte.

Notes

À 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.

Exemple

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)