Partilhar via


Criar consultas de inserção de resultados (Visual Database Tools)

Aplica-se a:SQL Server

Você pode copiar linhas de uma tabela para outra ou dentro de uma tabela usando uma consulta Inserir Resultados. Por exemplo, em uma tabela titles, você pode usar uma consulta Inserir Resultados para copiar informações sobre todos os títulos de um editor para uma segunda tabela que você pode disponibilizar para esse editor. Uma consulta Inserir Resultados é semelhante a Fazer Consultas de Tabela, mas copia linhas para uma tabela existente.

Dica

Você também pode copiar linhas de uma tabela para outra usando recortar e colar. Crie uma consulta para cada tabela e execute as consultas. Copie as linhas desejadas de uma grade de resultados para a outra.

Ao criar uma consulta Inserir Resultados, você especifica:

  • A tabela do banco de dados para a qual copiar linhas (a tabela de destino).

  • A tabela ou tabelas das quais copiar linhas (a tabela de origem). A tabela ou tabelas de origem tornam-se parte de uma subconsulta. Se você estiver copiando dentro de uma tabela, a tabela de origem será a mesma que a tabela de destino.

  • As colunas na tabela de origem cujo conteúdo você deseja copiar.

  • As colunas de destino na tabela de destino para as quais copiar os dados.

  • Condições de pesquisa para definir as linhas que deseja copiar.

  • Ordem de classificação, se você quiser copiar as linhas em uma ordem específica.

  • Opções de Agrupar-por, se quiser copiar apenas informações resumidas.

Por exemplo, a consulta a seguir copia informações de título da tabela titles para uma tabela de arquivo chamada archivetitles. A consulta copia o conteúdo de quatro colunas para todos os títulos pertencentes a um editor específico:

INSERT INTO archivetitles   
   (title_id, title, type, pub_id)  
SELECT title_id, title, type, pub_id  
FROM titles  
WHERE (pub_id = '0766')  

Observação

Para inserir valores em uma nova linha, use uma consulta Inserir Valores.

Você pode copiar o conteúdo das colunas selecionadas ou de todas as colunas em uma linha. Em ambos os casos, os dados que está a copiar devem ser compatíveis com as colunas das linhas para as quais está a copiar. Por exemplo, se copiar o conteúdo de uma coluna como price, a coluna na qual está a copiar deverá aceitar dados numéricos com casas decimais. Se você estiver copiando uma linha inteira, a tabela de destino deverá ter colunas compatíveis na mesma posição física da tabela de origem.

Quando você cria uma consulta Inserir Resultados, o painel Critérios é alterado para refletir as opções disponíveis para copiar dados. Uma coluna Acrescentar é adicionada para permitir que você especifique as colunas nas quais os dados devem ser copiados.

Atenção

Não é possível desfazer a ação de executar uma consulta Inserir Resultados. Como precaução, faça backup dos dados antes de executar a consulta.

Para criar uma consulta de Inserção de Resultados

  1. Crie uma nova consulta e adicione a tabela da qual deseja copiar linhas (a tabela de origem). Se você estiver copiando linhas dentro de uma tabela, poderá adicionar a tabela de origem como uma tabela de destino.

  2. No menu do Designer de Consulta , selecione Alterar Tipoe depois clique em Inserir Resultados.

  3. Na caixa de diálogo Escolher Tabela de Destino para Inserir Resultados, selecione a tabela para a qual copiar linhas (a tabela de destino).

    Observação

    O Designer de Consulta e Exibição não pode determinar antecipadamente quais tabelas e exibições você pode atualizar. Portanto, a lista Nome da Tabela na caixa de diálogo Escolher Tabela para Inserir de Consulta mostra todas as tabelas e vistas disponíveis na conexão de dados que está a consultar, até mesmo aquelas para as quais talvez não seja possível copiar linhas.

  4. No retângulo que representa a tabela ou o objeto com valor de tabela, escolha os nomes das colunas cujo conteúdo você deseja copiar. Para copiar linhas inteiras, escolha * (Todas as colunas).

    O Designer de Consulta e Visualização adiciona as colunas escolhidas à coluna Coluna do painel Critérios.

  5. Na coluna Anexar do painel Critérios, selecione uma coluna alvo na tabela de destino para cada coluna que estiver a copiar. Escolha nome da tabela.* se estiver copiando linhas inteiras. As colunas na tabela de destino devem ter os mesmos tipos de dados (ou compatíveis) que as colunas na tabela de origem.

  6. Se desejar copiar linhas em uma ordem específica, especifique uma ordem de classificação. Para obter detalhes, consulte Classificação e Agrupamento de Resultados de Consulta (Ferramentas de Banco de Dados Visuais).

  7. Especifique as linhas a serem copiadas inserindo as condições de pesquisa na coluna Filtro. Para obter detalhes, consulte Definir Critérios de Pesquisa (Visual Database Tools).

    Se você não especificar uma condição de pesquisa, todas as linhas da tabela de origem serão copiadas para a tabela de destino.

    Observação

    Quando você adiciona uma coluna para pesquisar ao painel Critérios, o Designer de Consulta e Exibição também a adiciona à lista de colunas a serem copiadas. Se quiser usar uma coluna para pesquisar, mas não copiá-la, desmarque a caixa de seleção ao lado do nome da coluna no retângulo que representa a tabela ou o objeto com valor de tabela.

  8. Se quiser copiar informações de resumo, especifique as opções de Agrupar por. Para obter detalhes, consulte Resumir resultados da consulta (Visual Database Tools).

Quando se executa uma consulta de Resultados de Inserção, nenhum resultado é apresentado no Painel de Resultados do . Em vez disso, aparece uma mensagem indicando quantas linhas foram copiadas.

Ver também

tipos de consultas (Visual Database Tools)
Tópicos de instruções sobre como criar consultas e exibições (Visual Database Tools)