Compartilhar 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 em uma tabela utilizando uma consulta Inserir Resultados. Por exemplo, em uma tabela titles , é possível utilizar uma consulta Inserir Resultados para copiar informações sobre todos os títulos de um publicador para uma segunda tabela que você pode disponibilizar para esse publicador. Uma consulta Inserir Resultados é semelhante às Consultas de Criar Tabela, mas copia linhas para uma tabela existente.

Dica

Você também pode copiar linhas de uma tabela para outra utilizando recortar e colar. Crie uma consulta para cada tabela e execute as consultas. Copie as linhas que você deseja de uma grade de resultados para outra.

Ao criar uma consulta Inserir Resultados, você especifica:

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

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

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

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

  • Defina as condições de pesquisa para as linhas que você deseja copiar.

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

  • As opções Agrupar por, se você quiser copiar somente resumos informativos.

Por exemplo, a consulta a seguir copia as 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 que pertencem a um publicador 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 linha nova, utilize uma consulta Insert Values.

Você pode copiar o conteúdo das colunas selecionadas ou de todas as colunas em uma linha. Em ambos os casos, os dados que você está copiando devem ser compatíveis com as colunas nas linhas para as quais você está copiando. Por exemplo, se você copiar o conteúdo de uma coluna como price, a coluna de destino 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 que a tabela de origem.

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

Cuidado

Você não pode desfazer a ação de executar uma consulta Inserir Resultados. Por precaução, faça backup dos dados antes de executar a consulta.

Criar uma consulta de Inserção de Resultados

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

  2. No menu Designer de Consulta, aponte para Alterar Tipo e depois selecione 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 com antecedência quais tabelas e exibições você pode atualizar. Portanto, a lista Nome da Tabela na caixa de diálogo Escolher Tabela para Inserir da Consulta mostra todas as tabelas e exibições disponíveis na conexão de dados que você está consultando, mesmo aquelas para as quais talvez você não consiga 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ê quer copiar. Para copiar linhas inteiras, escolha * (Todas as Colunas).

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

  5. Na coluna Acrescentar do painel Critérios, selecione uma coluna de destino na tabela de destino para cada coluna que você está copiando. Escolha tablename.* se você 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 você quiser copiar linhas em uma ordem específica, especifique uma ordem de classificação. Para obter detalhes, consulte Classificação e resultados da consulta de grupo (Visual Database Tools).

  7. Especifique as linhas a serem copiadas inserindo critérios de pesquisa na coluna Filtro . Para obter detalhes, consulte Especificar 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 no painel Critérios, o Designer de Consulta e Exibição também a adiciona à lista de colunas a serem copiadas. Se você quiser utilizar uma coluna para pesquisar mas não quiser copiá-la, desmarque a caixa de seleção próxima ao nome da coluna no retângulo que representa a tabela ou objeto com valor de tabela.

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

Quando você executa uma consulta Inserir Resultados, nenhum resultado é relatado no painel Resultados (Visual Database Tools). Em vez disso, uma mensagem é exibida indicando quantas linhas foram copiadas.