AccueilđŸ‡«đŸ‡·Chercher

Merge (SQL)

La commande Merge en SQL est une instruction qui permet de mettre Ă  jour ou insĂ©rer un ou plusieurs tuples dans une table (ou vue) d'une base de donnĂ©es relationnelle Ă  partir de donnĂ©es sources, selon des conditions. Cette commande a Ă©tĂ© rajoutĂ©e dans le standard SQL:2003, et Ă©tendue dans le standard SQL:2008, et permet d'Ă©viter des combinaisons d’instructions Insert, Update et Delete sur la table cible.


Syntaxe

MERGE INTO table_cible T                                                        -- table Ă  modifier
   USING données_source S                                                       -- Listes des données sources
   ON (Conditions1)                                                             -- Condition de correspondance/jointure
   WHEN MATCHED THEN                                                            -- Si vrai
     UPDATE SET t.colonne1 = valeur1 [, t.colonne2 = valeur2 ...]               ---- Mise Ă  jour
     DELETE WHERE (Conditions2)                                                 ---- ou Suppression sous condition
   WHEN NOT MATCHED THEN                                                        -- Si faux
     INSERT [ ( liste_colonnes) ] { VALUES ( liste_valeurs) | DEFAULT VALUES }  ---- Ajout

Une jointure droite externe (Right outer join) est effectuĂ©e entre la cible et la source. Si plusieurs tuples de la source correspondent Ă  un mĂȘme tuple de la cible alors une erreur est levĂ©e. Dans la syntaxe, Conditions1 reprĂ©sente la condition de jointure qui permet de dĂ©finir si un tuple cible doit ĂȘtre ajoutĂ© ou mise Ă  jour (ou supprimĂ©e si on est dans le cas de la Conditions2). Cela signifie que si un tuple source correspond selon la condition de jointure Ă  un tuple de la table cible alors les instructions dans WHEN MATCHED THEN sont effectuĂ©es. Si un tuple source ne correspond pas Ă  la condition de jointure alors les instructions dans WHEN NOT MATCHED THEN sont effectuĂ©es.

Les donnĂ©es sources peuvent provenir d'une table, d'une vue ou d'une sous requĂȘte.

Notes et références

    Liens externes

    Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.