Oi! Seja bem-vindo!

Hoje vamos aprender 5 formas de fazer INSERT no SQL Server, incluindo “como inserir em uma tabela os resultados de uma stored procedure”!

5 formas de fazer INSERT no SQL Server

Abaixo montei um script com exemplos das 5 principais formas de fazer INSERT no SQL Server. Nas versões mais atuais do a palavra “INTO” é opcional. Faça os testes na sua máquina e veja que na prática todas as sintaxes acabam gerando o mesmo resultado, tratando-se apenas de preferência pessoal por usar um ou outro comando.

Se você ainda não tem o SQL instalado, INSTALE :-). Se você está na correria e não pode instalar, consulte esse artigo (http://dba-pro.com/como-executar-comandos-sql-na-internet/) onde eu ensino como você pode simular os comandos SQL em um site da internet. Blz?

24 September FitnessWalk Trieste On the Barcola Promenade – Fitness Walk®® best time to take anavar tourist entertainer – no experience – dance & fitness – announcements caltanissetta

Tudo pronto, aqui vai o script da aula de hoje:


---------------------------------------------------------------------------
-- 5 formas de fazer INSERT no SQL Server
---------------------------------------------------------------------------
----------------------------------------------
-- Requisitos
----------------------------------------------
-- Banco de testes
use master
if db_id('curso') is not null
	drop database curso
go
create database curso
go
use curso
go

-- Tabela para testes
create table amigos (
	id_pessoa smallint,
	nm varchar(300)
)

----------------------------------------------
-- Método 1: Declarando colunas
----------------------------------------------
insert into amigos (id_pessoa, nm) values (1, 'Email Suarez')
insert      amigos (nm, id_pessoa) values ('Tranquilino Azambuja', 2)
select * from amigos

----------------------------------------------
-- Método 2: Sem declarar colunas
----------------------------------------------
-- OBS: Os dados precisam estar na ordem original das colunas da tabela
insert into amigos values (3, 'Ácido Etilico de Souza')
insert      amigos values (4, 'Rolando da Rocha')
select * from amigos

----------------------------------------------
-- Método 3: Múltiplas linhas em 1 insert
----------------------------------------------
-- OBS: O SQL permite até 1000 registros por insert
insert into amigos (nm, id_pessoa) values
	('Esmeralda de Jesus', 5),
	('Hugo Tocagaita', 6)
select * from amigos

-------------------------------------
-- Método 4: Insert / Select
-------------------------------------
-- Segunda tabela de testes
create table amigos_sorteados (id smallint, nm varchar(300))

-- Insert/Select
insert into amigos_sorteados (id, nm)
	select top 2 * from amigos order by newid()

select * from amigos
select * from amigos_sorteados
go

-------------------------------------
-- Método 5: Insert / Execute
-------------------------------------
-- Proc de testes
create procedure pSorteiaAmigos as
	select top 2 * from amigos order by newid()
go

-- Limpa a tabela de amigos sorteados
delete amigos_sorteados

-- Insert/exec
insert into amigos_sorteados
	execute pSorteiaAmigos

select * from amigos_sorteados

CONCLUSÃO

Como você pode ver, o que muda em relação a sintaxe é apenas questão de preferência. Se você estiver trabalhando com outros bancos de dados ou SQLs em versões antes a 2008 a palavra INTO é obrigatória, blz?

Espero que tenha gostado do artigo, nos vemos no próximo!

Abraço do seu amigo Josué

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *