none
Copiar Campo de uma BD para outra BD RRS feed

  • Pergunta

  • Olá,

    Eu tenho 2 base de dados A e B, eu tenho em cada uma a tabela Compras e estão da seguinte forma:

    A.Compras (No,Nome,Total,Local)

    B.Compras (No,Nome)

    Eu pretendo é criar automaticamente os outros 2 campos na tabela B.Compras.


    quinta-feira, 13 de dezembro de 2012 11:15

Respostas

  • HMarcio, bom dia.

    Se vc possui o nomes e tipo das colunas a serem criadas na tabela B, vc pode utilizar um simples alter table.

    alter table tableB add campo1 int, campo2 int

    Onde "int" é o tipo do campo a ser criado.

    Agora se vc precisa de algo mais dinâmico, vc pode fazer uma leitura das colunas que pertencem ao objeto A e comparar com as colunas que pertencem a coluna B. Após um comparativo, vc poderia criar um cursor com um comando exec para criação dos campos de forma automática.

    Desta forma vc nem precisará saber nomes e tipos de campos a serem criados na tabela B.

    Dê uma pesquisada sobre INFORMATION_SCHEMA.COLUMNS e sysOBJECTS.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 12:48
    quinta-feira, 13 de dezembro de 2012 12:20
  • HMarcio,

    As tabelas A e B tem o mesmo conteudo? Se sim você pode deletar a tabela B e usar o assistente de exportação e exportar a tabela A inteira para o sua outra base de dados. Caso elas tenham valores diferentes você poderia dar um alter table criando os campos Total e Local na tabela B em seguida no assistente de importação exportação definir uma consulta para passar os valores para esses campos.

    Para usar o assistente de importação e exportação:

    1 - Clique com o botão direito do mouse na sua base -> Tarefas -> Exportar dados...

    2 - Selecione a fonte de dados e o destino.

    3 - Selecione a tabela que deseja enviar (A).

    4 - Selecione a tabela que irá receber os dados no destino (B)


    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.

    • Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 12:48
    quinta-feira, 13 de dezembro de 2012 12:22

Todas as Respostas

  • HMarcio, bom dia.

    Se vc possui o nomes e tipo das colunas a serem criadas na tabela B, vc pode utilizar um simples alter table.

    alter table tableB add campo1 int, campo2 int

    Onde "int" é o tipo do campo a ser criado.

    Agora se vc precisa de algo mais dinâmico, vc pode fazer uma leitura das colunas que pertencem ao objeto A e comparar com as colunas que pertencem a coluna B. Após um comparativo, vc poderia criar um cursor com um comando exec para criação dos campos de forma automática.

    Desta forma vc nem precisará saber nomes e tipos de campos a serem criados na tabela B.

    Dê uma pesquisada sobre INFORMATION_SCHEMA.COLUMNS e sysOBJECTS.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 12:48
    quinta-feira, 13 de dezembro de 2012 12:20
  • HMarcio,

    As tabelas A e B tem o mesmo conteudo? Se sim você pode deletar a tabela B e usar o assistente de exportação e exportar a tabela A inteira para o sua outra base de dados. Caso elas tenham valores diferentes você poderia dar um alter table criando os campos Total e Local na tabela B em seguida no assistente de importação exportação definir uma consulta para passar os valores para esses campos.

    Para usar o assistente de importação e exportação:

    1 - Clique com o botão direito do mouse na sua base -> Tarefas -> Exportar dados...

    2 - Selecione a fonte de dados e o destino.

    3 - Selecione a tabela que deseja enviar (A).

    4 - Selecione a tabela que irá receber os dados no destino (B)


    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.

    • Marcado como Resposta Ricardo Russo quarta-feira, 2 de janeiro de 2013 12:48
    quinta-feira, 13 de dezembro de 2012 12:22