Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como inserir várias linhas em uma única consulta SQL – Pergunta de entrevista da semana #069

Existem tantos bancos de dados diferentes no mundo e muitos deles usam a linguagem SQL para sua programação. É muito fácil supor que, se eles estiverem usando SQL, podemos facilmente usar o código de um banco de dados para outro banco de dados. Infelizmente a realidade é muito diferente, nem todos os scripts de um banco de dados funcionam em outro banco de dados. Hoje veremos uma pergunta muito interessante onde o usuário fez uma pergunta sobre inserir várias linhas em uma única consulta SQL.


Pergunta: Escreva um código SQL que inserirá várias linhas em uma única consulta SQL. A condição para este script era tal que ele deveria funcionar no SQL Server, MySQL e PostgreSQL sem alterar uma única linha de código.

Resposta: Escrever um código para inserir várias linhas em uma única consulta SQL não é uma tarefa difícil, mas é realmente um desafio criar um script que funcione com vários bancos de dados. No entanto, é possível criar um script que funcione em vários bancos de dados.

Primeiro, vamos criar uma tabela de amostra com duas colunas. Depois que a tabela for criada, insira três linhas diferentes em uma única consulta SQL.

CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
INSERT INTO SampleTable (ID, Col1)
VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
SELECT *
FROM SampleTable;
DROP TABLE SampleTable;

Agora vamos executar esta consulta em vários bancos de dados e ver o resultado.

SQL Server


MySQL


PostgreSQL


É isso. Esta era realmente uma pergunta muito interessante. Só para você saber alternativamente você também pode construir o SQL Script com a ajuda do UNION. No entanto, a solução demonstrada nesta consulta é o novo caminho a percorrer.