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 |