Banco de dados H2 - Mesclar
O comando MERGE é usado para atualizar as linhas existentes e inserir novas linhas em uma tabela. A coluna da chave primária desempenha um papel importante ao usar este comando; é usado para encontrar a linha.
Sintaxe
A seguir está a sintaxe genérica do comando MERGE.
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
Na sintaxe acima, a cláusula KEY é usada para especificar o nome da coluna da chave primária. Junto com a cláusula VALUES, podemos usar valores primitivos para inserir ou podemos recuperar e armazenar outros valores de tabela nesta tabela usando o comando select.
Exemplo
Neste exemplo, vamos tentar adicionar um novo registro à tabela Clientes. A seguir estão os detalhes do novo registro na tabela.
Nome da coluna | Valor |
---|---|
EU IRIA | 8 |
NOME | Lokesh |
ERA | 32 |
ENDEREÇO | Hyderabad |
SALÁRIO | 2500 |
Usando a consulta a seguir, vamos inserir o registro fornecido na consulta de banco de dados H2.
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
A consulta acima produz a seguinte saída.
Update count: 1
Vamos verificar os registros da tabela Cliente executando a seguinte consulta.
SELECT * FROM CUSTOMER;
A consulta acima produz a seguinte saída.
EU IRIA | Nome | Era | Endereço | Salário |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Délhi | 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 | 10.000 |
8 | Lokesh | 32 | Hyderabad | 2500 |
Agora vamos tentar atualizar o registro usando o Mergecomando. A seguir estão os detalhes do registro a ser atualizado.
Nome da coluna | Valor |
---|---|
EU IRIA | 8 |
NOME | Loki |
ERA | 32 |
ENDEREÇO | Hyderabad |
SALÁRIO | 3000 |
Use a seguinte consulta para inserir o registro fornecido na consulta de banco de dados H2.
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
A consulta acima produz a seguinte saída.
Update count: 1
Vamos verificar os registros da tabela Cliente executando a seguinte consulta.
SELECT * FROM CUSTOMER;
A consulta acima produz a seguinte saída -
EU IRIA | Nome | Era | Endereço | Salário |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Délhi | 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 | 10.000 |
8 | Loki | 32 | Hyderabad | 3000 |