BANCO DE DADOS PARA BANCO DE DADOS

USUARIO.EXCLUIDOS 18/04/2004 05:16:27
#21157

Eu queria saber como transverir os registros de uma tabela de um banco de dados X para uma tabela de um banco de dados Y??
Estou utilizando o ADO 2.1
Tem algum comando SQL para isso??


Obrigado ...
Ronald T.
USUARIO.EXCLUIDOS 18/04/2004 09:24:23
#21164
Resposta escolhida
O SELECT pode ser utilizado para gerar uma nova tabela em uma base de dados com registros selecionados de outra tabela, em outra base de dados. Mas você terá de especificar a base de dados de destino na cláusula IN. Por exemplo:

"SELECT CLIENTES.* INTO CLIENTES IN 'F:\Estoque\DADOS\bd.mdb' FROM CLIENTES;"

USUARIO.EXCLUIDOS 18/04/2004 14:32:18
#21187
Se a tabela já existir na base destino, você deverá utilizar o INSERT, como no exemplo:
...
"INSERT INTO TABELA ( CAMPO1, CAMPO2... ) IN 'F:\DADOS\DESTINO.mdb'
SELECT TABELA.CAMPO1, TABELA.CAMPO2... FROM TABELA;"
...

Cabe uma observação: Caso os registros da tabela de origem já existam na tabela de destino, ou eles serão sobrepostos ou ocorrerá uma mensagem de erro, por conta da duplicação de alguma chave única.

Para evitar esse problema, você deverá gerar uma consulta que contenha apenas os registros da Origem que não existam no Destino e usar o INSERT INTO com o resultado dessa consulta.
USUARIO.EXCLUIDOS 18/04/2004 14:45:26
#21190
Não é uma função, é uma instrução SQL.
E ela irá transportar os campos que você especificar, como também terá de especificar as tabelas em questão e a localização da base de dados de destino. Por esse motivo eu coloquei as reticências no espaço reservado aos campos.
USUARIO.EXCLUIDOS 18/04/2004 14:57:01
#21195
You're welcome!
Tópico encerrado , respostas não são mais permitidas