Rodrigo Fortes

"Só duas coisas são infinitas, o universo e a estupidez humana, mas não estou seguro sobre o primeiro"

Insert

Vou explorar aqui algumas formas de insert em bancos de dados SQL Server, mas os conceitos servem para outros BD's também.

O Insert é utilizado para incluir registros novos em uma tabela.

1) Insert simples

insert into Tabela (cdtabela, nmtabela)
values (117, 'teste9')

2) Insert select

INSERT INTO Tabela1 (cdtabela, nmtabela)
(SELECT cdtabela, nmtabela
FROM Tabela)

Neste caso como não usei nenhuma cláusula where a Tabela1 ficará com as mesmas linas e dados da Tabela

3) Insert declarando variáveis

declare @codigo int
declare @nome varchar(50)

select @codigo = 118
select @nome = 'teste15'

insert into Tabela (cdtabela, nmtabela)
values(@codigo, @nome)

4) Vários inserts simultâneos

Vou colocar duas formas aqui.

4.1) Fazendo varios inserts mudando apenas os parâmetros
INSERT INTO Tabela (cdtabela, nmtabela)
VALUES (112,'teste1');
INSERT INTO Tabela (cdtabela, nmtabela)
VALUES (113,'teste2');
INSERT INTO Tabela (cdtabela, nmtabela)
VALUES (114,'teste3');
INSERT INTO Tabela (cdtabela, nmtabela)
VALUES (115,'teste4');
INSERT INTO Tabela (cdtabela, nmtabela)
VALUES (116,'teste5');

4.2) Fazendo insert com selec union
INSERT INTO Tabela (cdtabela, nmtabela)
SELECT 112 ,'teste1'
UNION ALL
SELECT 113 ,'teste2'
UNION ALL
SELECT 114 ,'teste3'
UNION ALL
SELECT 115 ,'teste4'
UNION ALL
SELECT 116 ,'teste5'