Ir ao conteúdo

Comando SELECT INTO no SQL: O que é e como usar

O comando SELECT INTO é uma instrução SQL utilizada para copiar dados de uma ou mais tabelas para uma nova tabela. Essa nova tabela é criada automaticamente durante a execução do comando, ou seja, não precisa existir previamente no banco de dados.

Essa instrução é muito útil quando se deseja criar uma cópia de segurança, realizar testes com dados reais sem alterar a tabela original ou extrair um subconjunto de dados para processamento separado.

Sintaxe básica

SELECT coluna1, coluna2, ...
INTO nova_tabela
FROM tabela_origem
WHERE condição;
  • coluna1, coluna2, ...: são os campos que serão copiados.
  • nova_tabela: é o nome da nova tabela que será criada.
  • tabela_origem: é a tabela de onde os dados estão sendo selecionados.
  • condição: (opcional) filtro para selecionar apenas determinados registros.

Exemplo prático

Imagine uma tabela chamada clientes com diversos dados. Para criar uma nova tabela chamada clientes_sp apenas com os clientes do estado de São Paulo, você pode usar:

SELECT id, nome, estado
INTO clientes_sp
FROM clientes
WHERE estado = 'SP';

Esse comando:

  • Cria automaticamente a tabela clientes_sp.
  • Copia os dados da tabela clientes apenas onde o estado for SP.

Pontos de atenção

  • A nova tabela não pode existir previamente. Se já existir, o comando gerará erro.
  • O comando copia estrutura e dados, mas não copia índices, chaves primárias ou constraints.
  • É compatível com vários SGBDs como SQL Server e PostgreSQL, mas não é suportado pelo MySQL (no MySQL usa-se CREATE TABLE ... AS SELECT).

Quando usar SELECT INTO

  • Criar backups rápidos de uma tabela ou subconjunto.
  • Testar transformações em dados sem afetar o original.
  • Migrar parte dos dados para uma nova tabela.

Se você estiver aprendendo SQL ou trabalhando com manipulação de dados, entender o SELECT INTO é essencial para tarefas de cópia e criação dinâmica de tabelas com base em consultas!

Fonte: Microsoft

Publicado emBlogComputaçãoProgramaçãoSQL