none
Copiar registros de uma tabela para outra RRS feed

  • Pergunta

  • Olá.

    Antes que me indiquem buscar nos tópicos já publicados, informo que já tentei alguns e nada deu resultado.

    Preciso fazer um Backup de uma tabela mensalmente.

    As duas tabelas estão no mesmo banco e servidor com campos exatamente iguais e não há campo Identy.

    Preciso limpar conteúdo da tabela Destino e copiar os dados atualizados da tabela Origem através de uma query no programa.

    Já tentei:

        with dataModule2.qrVerif do
        begin
          close;
          sql.Clear;
          sql.Add('insert into BKPAMTX select * from SCCAMTX');
          open;
        end;

    mas deu erro: "CommandText does not return a result set".

    Alguem poderia dar um help? 

    Vlw

    sexta-feira, 11 de agosto de 2017 13:22

Respostas

  • Bom dia,

    Renato, acredito que esse erro esteja ocorrendo na sua aplicação porque esse Insert não retorna dados para a sua aplicação.

    Aparentemente esse código está em Delphi, então provavelmente será necessário trocar o método Open por ExecSQL.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Renato Reis1 sexta-feira, 11 de agosto de 2017 19:19
    sexta-feira, 11 de agosto de 2017 13:43

Todas as Respostas

  • Olá Renato,

    Você pode criar um job direto no SQL SErver Agent, com um agendamento de execução a sua escolha com o script abaixo ou criar uma procedure e sua aplicação executá-la. 

    truncate table BKPAMTX
    -- ou (depende da sua base de dados)
    delete from BKPAMTX
    
    go
    
    insert into BKPAMTX select * from SCCAMTX


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)


    sexta-feira, 11 de agosto de 2017 13:26
  • Bom dia,

    Renato, acredito que esse erro esteja ocorrendo na sua aplicação porque esse Insert não retorna dados para a sua aplicação.

    Aparentemente esse código está em Delphi, então provavelmente será necessário trocar o método Open por ExecSQL.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Renato Reis1 sexta-feira, 11 de agosto de 2017 19:19
    sexta-feira, 11 de agosto de 2017 13:43
  • Deleted
    sexta-feira, 11 de agosto de 2017 14:16
  • Obrigado Pessoal.

    Resolvido.

    Abcs

    sexta-feira, 11 de agosto de 2017 19:19
  • Olá Vinicius.

    Não necessito fazer o agendamento porque deve mesmo ser um procedimento manual. Dependerá de algumas condições que o usuário irá verificar antes de executar essa copia.

    Vlw

    sexta-feira, 11 de agosto de 2017 19:22