Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

INSERT INTO vs SELECT INTO


  1. Eles fazem coisas diferentes. Use INSERT quando a tabela existe. Use SELECT INTO quando não.

  2. Sim. INSERT sem dicas de tabela é normalmente registrado. SELECT INTO é registrado minimamente, assumindo que os sinalizadores de rastreamento adequados estejam definidos.

  3. Na minha experiência SELECT INTO é mais comumente usado com conjuntos de dados intermediários, como #temp tabelas, ou para copiar uma tabela inteira como para um backup. INSERT INTO é usado quando você insere em uma tabela existente com uma estrutura conhecida.

EDITAR

Para resolver sua edição, eles fazem coisas diferentes. Se você está fazendo uma tabela e quer definir a estrutura use CREATE TABLE e INSERT . Exemplo de um problema que pode ser criado:Você tem uma pequena tabela com um campo varchar. A maior string em sua tabela agora tem 12 bytes. Seu conjunto de dados real precisará de até 200 bytes. Se você fizer SELECT INTO da sua pequena tabela para fazer uma nova, a posterior INSERT falhará com um erro de truncamento porque seus campos são muito pequenos.