none
Importar dados de uma tabela de um BANCO CLIENTE para o BANCO DA EMPRESA RRS feed

  • Pergunta

  • Fala galerinha beleza?

    Preciso de uma ajuda de vocês novamente, Tenho um banco de dados em SQL de um cliente com 4 tabelas, e preciso passar estas 4 tabelas para o banco de dados da empresa... No banco de dados da empresa JÀ ESTÂO criada as tabelas, só preciso entao dar um tipo de "replace" nas tabelas ou então copiar somente os dados e referencias os campos... Mas não faço a miníma idéa de como fazer isso... alguma ajuda ?

    sábado, 11 de agosto de 2012 14:48

Respostas

  • Por exemplo: 

      Você tem uma tabela  PRODUTOS no banco EMPRESA com os seguintes campos ( ID,DESCRICAO,FABRICACAO,VALIDADE)  na base da sua empresa e na outra base voce tem  a mesma tabela só que com os campos (DESCRICAO,FABRICACAO,VALIDADE) , reparou que não tem o campo ID? então seu insert ficara assim:

    INSERT INTO EMPRESA.DBO.PRODUTOS  (DESCRICAO,FABRICACAO,VALIDADE) /* --> Aqui eu disse que quero inserir os dados da sql */

         SELECT DESCRICAO, FABRICAO,VALIDADE FROM SEGUNDOBANCO.DBO.PRODUTOS /*--> Aqui eu busquei os dados la de onde eu quero extrair as informaçõs

    Se tiver duvida, me add no MSN ai felipehelison@hotmail.com

    sábado, 11 de agosto de 2012 17:36

Todas as Respostas

  • Boa Tarde Jovem!

        Cara, como ja existem as tabelas no banco da empresa, minha idéia é dar um SELECT com um INSERT. Isto é, se as duas bases estiverem na mesma instancia do SQL.

    INSERT INTO  BANCO.DBO.TABELADESTINO  

       SELECT * FROM TABELAORIGEM

     Caso os campos forem diferfentes, voce devera especificar os mesmos no VALUE do destino de acordo com o resultado do seu Select.

    Att,

    Felipe Helison


    sábado, 11 de agosto de 2012 15:11
  • Boa Tarde Jovem!

        Cara, como ja existem as tabelas no banco da empresa, minha idéia é dar um SELECT com um INSERT. Isto é, se as duas bases estiverem na mesma instancia do SQL.

    INSERT INTO  BANCO.DBO.TABELADESTINO  

       SELECT * FROM TABELAORIGEM

     Caso os campos forem diferfentes, voce devera especificar os mesmos no VALUE do destino de acordo com o resultado do seu Select.

    Att,

    Felipe Helison


    Felipe... EU aprendi agora isso num tutorial, mas foi com tabelas do mesmo banco,teria como você dar um exemplo de como farei isso especificando os campos? (como você disse caso seja diferente) 

    E outra, como saberei se estão na mesma instância? Estou estudando só pelo prompt de comando...


    sábado, 11 de agosto de 2012 15:39
  • Por exemplo: 

      Você tem uma tabela  PRODUTOS no banco EMPRESA com os seguintes campos ( ID,DESCRICAO,FABRICACAO,VALIDADE)  na base da sua empresa e na outra base voce tem  a mesma tabela só que com os campos (DESCRICAO,FABRICACAO,VALIDADE) , reparou que não tem o campo ID? então seu insert ficara assim:

    INSERT INTO EMPRESA.DBO.PRODUTOS  (DESCRICAO,FABRICACAO,VALIDADE) /* --> Aqui eu disse que quero inserir os dados da sql */

         SELECT DESCRICAO, FABRICAO,VALIDADE FROM SEGUNDOBANCO.DBO.PRODUTOS /*--> Aqui eu busquei os dados la de onde eu quero extrair as informaçõs

    Se tiver duvida, me add no MSN ai felipehelison@hotmail.com

    sábado, 11 de agosto de 2012 17:36
  • Por exemplo: 

      Você tem uma tabela  PRODUTOS no banco EMPRESA com os seguintes campos ( ID,DESCRICAO,FABRICACAO,VALIDADE)  na base da sua empresa e na outra base voce tem  a mesma tabela só que com os campos (DESCRICAO,FABRICACAO,VALIDADE) , reparou que não tem o campo ID? então seu insert ficara assim:

    INSERT INTO EMPRESA.DBO.PRODUTOS  (DESCRICAO,FABRICACAO,VALIDADE) /* --> Aqui eu disse que quero inserir os dados da sql */

         SELECT DESCRICAO, FABRICAO,VALIDADE FROM SEGUNDOBANCO.DBO.PRODUTOS /*--> Aqui eu busquei os dados la de onde eu quero extrair as informaçõs

    Se tiver duvida, me add no MSN ai felipehelison@hotmail.com

    Fiz isso e aqui não funcionou...

    INSERT INTO test.DBO.cliente ( banco de dados que já vem no sql) (nome,cpf) <- cliente nome da tabela

    SELECT (nome,cpf) FROM teste.DBO.cliente  <- mesma tabela só muda o nome do db...

    add no msn se puder ajudar fico muito agradecido =)


    sábado, 11 de agosto de 2012 17:50
  • PlayHardGoPro,

    Conseguiu?

    Podemos fechar esta Thread?


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 29 de agosto de 2012 16:42
    Moderador
  • PlayHardGoPro,

    Conseguiu?

    Podemos fechar esta Thread?


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    Agora está feito =) muito obrigado a quem me respondeu...

    Fiz o seguinte, como era em C#, Abri a conexão com o banco criei um Command e fiz um Select Depois disso fechei a conexão e usando a mesma conexão e o mesmo command fiz o INSERT...

    Cya~ '

    ________________________

    Case Closed !

    quarta-feira, 29 de agosto de 2012 17:06
  • OK. Marque as posts que serviram como respostas por favor.

    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 29 de agosto de 2012 18:29
    Moderador
  • Boa tarde amigo,

    Se você tiver como dar um select simultâneo nas duas bases de dados essa procedure vai funcionar:

    CREATE PROCEDURE MIGRA_DADOS
    AS
    INSERT INTO BANCOEMPRESA(CAMPO1,
                             CAMPO2,
                             CAMPON)
    SELECT BC.<CAMPO1>,
           BC.<CAMPO2>,
           BC.<CAMPON...>
      FROM BANCOCLIENTE BC
     WHERE NOT EXISTS (SELECT 1 
                         FROM BANCOEMPRESA BE
                        WHERE BE.CAMPO1 = BC.CAMPO1
                          AND BE.CAMPO2 = BC.CAMPO2
                          AND BE.CAMPON = BC.CAMPON)

    caso nao tenha como fazer esse select simultâneo, sugiro extrair os dados da base cliente e coloca-las no excel, e importar o arquivo para a base da empresa utilizando o BCPou BULK INSERT, se tiver dúvidas sobre como fazer isso pode entrar em contato ok ?

    • Sugerido como Resposta Khallew Bezerra terça-feira, 25 de setembro de 2012 16:30
    • Não Sugerido como Resposta PlayHardGoPro terça-feira, 11 de junho de 2013 17:24
    terça-feira, 25 de setembro de 2012 16:14