Base de datos H2 - Fusionar

El comando MERGE se usa para actualizar las filas existentes e insertar nuevas filas en una tabla. La columna de la clave principal juega un papel importante al usar este comando; se usa para encontrar la fila.

Sintaxis

A continuación se muestra la sintaxis genérica del comando MERGE.

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

En la sintaxis anterior, la cláusula KEY se usa para especificar el nombre de la columna de clave primaria. Junto con la cláusula VALUES, podemos usar valores primitivos para insertar o podemos recuperar y almacenar valores de otra tabla en esta tabla usando el comando select.

Ejemplo

En este ejemplo, intentemos agregar un nuevo registro a la tabla Clientes. A continuación se muestran los detalles del nuevo registro en la tabla.

Nombre de columna Valor
CARNÉ DE IDENTIDAD 8
NOMBRE Lokesh
AÑOS 32
HABLA A Hyderabad
SALARIO 2500

Usando la siguiente consulta, insertemos el registro dado en la consulta de la base de datos H2.

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

La consulta anterior produce el siguiente resultado.

Update count: 1

Verifiquemos los registros de la tabla Customer ejecutando la siguiente consulta.

SELECT * FROM CUSTOMER;

La consulta anterior produce el siguiente resultado.

CARNÉ DE IDENTIDAD Nombre Años Habla a Salario
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
8 Lokesh 32 Hyderabad 2500

Ahora intentemos actualizar el registro usando el Mergemando. A continuación se muestran los detalles del registro que se actualizará.

Nombre de columna Valor
CARNÉ DE IDENTIDAD 8
NOMBRE Loki
AÑOS 32
HABLA A Hyderabad
SALARIO 3000

Utilice la siguiente consulta para insertar el registro dado en la consulta de la base de datos H2.

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

La consulta anterior produce el siguiente resultado.

Update count: 1

Verifiquemos los registros de la tabla Customer ejecutando la siguiente consulta.

SELECT * FROM CUSTOMER;

La consulta anterior produce el siguiente resultado:

CARNÉ DE IDENTIDAD Nombre Años Habla a Salario
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
8 Loki 32 Hyderabad 3000