Usuário anônimo
Mais
Inserindo várias linhas em uma única consulta SQL?
Tenho vários conjuntos de dados para inserir ao mesmo tempo, digamos 4 filas. A minha tabela tem três colunas: Pessoa
, Id
e Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Posso inserir todas as 4 linhas em uma única instrução SQL?
1595
3
No SQL Server 2008 você pode inserir várias linhas usando uma única instrução SQL INSERT.
Para referência, veja o Curso MOC 2778A - Writing SQL Queries no SQL Server 2008.
Por exemplo:
Se você estiver inserindo em uma única tabela, você pode escrever sua consulta desta forma (talvez apenas no MySQL):
NOTE: Esta resposta é para SQL Server 2005. Para o SQL Server 2008 e posteriores, existem métodos muito melhores, como visto nas outras respostas.
Você pode usar INSERIR com SELECT UNION ALL:
Mas apenas para pequenos conjuntos de dados, o que deve ser bom para os seus 4 registos.