Usuário com melhor resposta
Copiar dados de entre duas tabelas

Pergunta
-
ae galera
preciso de passar os dados de uma tabela_A (na instancia1) para uma tabela_B (na instancia2).
O que me preocupa é que na tabela_A os datatype são todos nvarchar e na tabela_B os campos já estão com os datatype correctos.
Como faço essa transferência de dados?
Ao fazer essa transferência tenho que converter os dados coluna a coluna né?
valeu
Respostas
-
- Sim, o campo é a coluna.
- Sim, terá que fazer um comando CAST para cada coluna.
- Como a instancia não está no mesmo servidor você terá que criar um LinkedServer, e então vc fará o FROM da seguinte forma:
FROM NomedoLinkedServer.NomedoDatabase.NomedoSchema.Tabela
Esse link pode te ajudar: CREATE LinkedServer
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.
- Sugerido como Resposta Eduardo Gomes Pereira quinta-feira, 10 de janeiro de 2013 16:09
- Marcado como Resposta Ricardo Russo terça-feira, 15 de janeiro de 2013 11:53
-
Sim, é possível.
O que vc pode fazer também é utilizar o Integration Services (SSIS), se tiver a possibilidade de utilizar esta ferramenta.
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 terça-feira, 15 de janeiro de 2013 11:53
Todas as Respostas
-
Jonas,
Você pode fazer assim:
USE Instancia1 GO INSERT INTO tabela_A SELECT CAST(<Campo> AS <DataType Correto>) FROM Instancia2.dbo.tabela_B
Sim, terá que fazer os converts das colunas.
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.
- Editado Fb_Dev quinta-feira, 10 de janeiro de 2013 15:31
-
O campo é a coluna, correcto? Faço um cast para cada coluna?!
Nesta parte
FROM Instancia2.dbo.tabela_B
o nome da instancia é modelosdebase. A instancia não está no mesmo servidor. tenho que fazer na mesma
"From modelosdebase.dbo.tabelaB"
valeu
- Editado Jonas.8 quinta-feira, 10 de janeiro de 2013 15:35
-
- Sim, o campo é a coluna.
- Sim, terá que fazer um comando CAST para cada coluna.
- Como a instancia não está no mesmo servidor você terá que criar um LinkedServer, e então vc fará o FROM da seguinte forma:
FROM NomedoLinkedServer.NomedoDatabase.NomedoSchema.Tabela
Esse link pode te ajudar: CREATE LinkedServer
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.
- Sugerido como Resposta Eduardo Gomes Pereira quinta-feira, 10 de janeiro de 2013 16:09
- Marcado como Resposta Ricardo Russo terça-feira, 15 de janeiro de 2013 11:53
-
ae galera
estava tentando criar um linked server mas não consigo. Esqueci-me que não sou admin da instancia. logo não tenho poderes para criar um.
Me lembrei de outra solução.
Na instancia 1 exportar os dados da tabela_A para um excel. E na instancia 2 importar os dados do excel para a tabela_B.
Isso é possivel?
Nota: os campos estão todos em nvarchar(50), vao ficar assim nas duas tabelas. Depois crio tabelas correctas dentro da mesma instancia, sempre tenho acesso
valeu
- Editado Jonas.8 sexta-feira, 11 de janeiro de 2013 08:42
-
Sim, é possível.
O que vc pode fazer também é utilizar o Integration Services (SSIS), se tiver a possibilidade de utilizar esta ferramenta.
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 terça-feira, 15 de janeiro de 2013 11:53