Base de données H2 - Fusionner

La commande MERGE est utilisée pour mettre à jour les lignes existantes et insérer de nouvelles lignes dans une table. La colonne de clé primaire joue un rôle important lors de l'utilisation de cette commande; il est utilisé pour trouver la ligne.

Syntaxe

Voici la syntaxe générique de la commande MERGE.

MERGE INTO tableName [ ( columnName [,...] ) ] 
[ KEY ( columnName [,...] ) ] 
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }

Dans la syntaxe ci-dessus, la clause KEY est utilisée pour spécifier le nom de la colonne de clé primaire. Avec la clause VALUES, nous pouvons utiliser des valeurs primitives pour insérer ou nous pouvons récupérer et stocker d'autres valeurs de table dans cette table à l'aide de la commande select.

Exemple

Dans cet exemple, essayons d'ajouter un nouvel enregistrement dans la table Clients. Voici les détails du nouvel enregistrement dans le tableau.

Nom de colonne Valeur
ID 8
NOM Lokesh
ÂGE 32
ADRESSE Hyderabad
UN SALAIRE 2500

À l'aide de la requête suivante, insérons l'enregistrement donné dans la requête de la base de données H2.

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);

La requête ci-dessus produit la sortie suivante.

Update count: 1

Vérifions les enregistrements de la table Customer en exécutant la requête suivante.

SELECT * FROM CUSTOMER;

La requête ci-dessus produit la sortie suivante.

ID Nom Âge Adresse Un salaire
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Bombay 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
sept Muffy 24 Indore 10 000
8 Lokesh 32 Hyderabad 2500

Essayons maintenant de mettre à jour l'enregistrement en utilisant le Mergecommander. Voici les détails de l'enregistrement à mettre à jour.

Nom de colonne Valeur
ID 8
NOM Loki
ÂGE 32
ADRESSE Hyderabad
UN SALAIRE 3000

Utilisez la requête suivante pour insérer l'enregistrement donné dans la requête de base de données H2.

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);

La requête ci-dessus produit la sortie suivante.

Update count: 1

Vérifions les enregistrements de la table Customer en exécutant la requête suivante.

SELECT * FROM CUSTOMER;

La requête ci-dessus produit la sortie suivante -

ID Nom Âge Adresse Un salaire
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Bombay 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
sept Muffy 24 Indore 10 000
8 Loki 32 Hyderabad 3000