Fórum Migração de tabelas no Ibexpert, quem pode ajudar? #411438
11/01/2012
0
Fiz a migração de uma tabela do Access para o Ibexpert, a qual dei o nome de MIGRAR, preciso importar os dados dessa tabela para outra chamada ALUNO, tentei várias dicas da net mas não consegui fazer a importação dos dados, a estrutura das tabelas estão assim:
MIGRAR (Tabela) ALUNO (Tabela)
MATRICULA (não tem campo chave) MATRICULA (campo chave)
NOME NOME
DATA_NASCIMENTO DATA_NASCIMENTO
PAI PAI
MAE MAE
TEL_RESIDENCIAL TEL_RESIDENCIAL
Obs: Lembro que a numeração do campo MATRICULA da tabela MIGRAR está fora de ordem, ou seja, existem números saltados.
Osmar
Curtir tópico
+ 0Posts
11/01/2012
Junior Miranda
Insert into Nome_Tabela
Select Campo,
...
from Nome_Tabela
[]´s
Gostei + 0
11/01/2012
Junior Miranda
-- No Script Executive Insert into Aluno Select TodosOsCampos from Matricula; Commit Work;
Gostei + 0
11/01/2012
Osmar
Por favor verifique o código acho que está imcompleto, não foi feita referencia de qual tabela os dados virão, que no meu caso deve vir da tabela MIGRAR
Insert into Aluno
Select matricula, nome, data_nascimento, pai, mae, tel_residencial
from Matricula;
Commit Work;
Gostei + 0
11/01/2012
Junior Miranda
Por favor verifique o código acho que está imcompleto, não foi feita referencia de qual tabela os dados virão, que no meu caso deve vir da tabela MIGRAR
Insert into Aluno
Select matricula, nome, data_nascimento, pai, mae, tel_residencial
from Matricula;
Commit Work;
Troca o
from Matricula;
Por:
from MIGRAR;
[]´s
Gostei + 0
11/01/2012
Osmar
Verifiquei que esse código só funciona se a tabela de destino possuir a mesma quantidade de campos, como a minha tabela original possui 66 campos e não 6 conforme o exemplo citado, pergunto se é possível adaptar o código.
Veja como está o código:
Insert into teste
Select matricula, nome, data_nascimento, tel_residencial, mae, pai
from migrar;
Commit Work;
Gostei + 0
11/01/2012
Junior Miranda
Ficaria assim:
Insert into teste (matricula,
nome,
data_nascimento,
tel_residencial,
mae,
pai)
Select matricula,
nome,
data_nascimento,
tel_residencial,
mae,
pai
from migrar;
Commit Work;
Caso os outros 60 campos(ou parte deles) da tabela de destino, sejam obrigatórios,
você poderá:
1- especificá-los no insert. Mas como a tabela de origem não os possui,
você deverá informar valores padrões no select. Exemplo:
Insert into teste (matricula,
nome,
data_nascimento,
tel_residencial,
mae,
pai,
Idade)--> campo obrigatório da tabela de destino
Select matricula,
nome,
data_nascimento,
tel_residencial,
mae,
pai,
0 --> Valor padrão
from migrar;
Commit Work;
2- Uma outra opção, é colocar estes campos na tabela com um valor Default.
Obs. Em ambos os caso, tomar cuidado com os campos que forem FK.
[]´s
Gostei + 0
11/01/2012
Osmar
Valeu irmão, consegui resolver de acordo com as suas dicas.
Um abraço, muito obrigado.
Osmar.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)