Existe alguma forma de se fazer essa referencia com o update do sql para que não se precise importar todos os dados novamente? (Isso não seria algo viável). Se sim poderiam me dar uma ajuda?
Você está tratando da tabela1 que já existe, certo?
Talvez você precise criar uma stored procedure e alguns ponteiros para isso. Acredito que seja a solução mais indicada.
Encontrei em alguns outros fóruns e cheguei a seguinte query abaixo, porém o Oracle SQL Developer não está aceitando essa query.
UPDATE TESTE1 JOIN TESTE2 ON TESTE2.COLUNA1 = TESTE1.COLUNA1
SET COLUNA3PK = TESTE2.CODIGO
Erro a partir da linha : 1 no comando -
UPDATE TESTE1 JOIN TESTE2 ON TESTE2.COLUNA1 = TESTE1.COLUNA1
SET COLUNA3PK = TESTE2.CODIGO
Erro na Linha de Comandos : 1 Coluna : 15
Relatório de erros -
Erro de SQL: ORA-00971: palavra-chave SET não encontrada
00971. 00000 - "missing SET keyword"
*Cause:
*Action:
Eu não consigo entender por que esse fetiche por update com join, mas, cada um faz o que quer.
Por que eu sugeri a SP com o ponteiro? O ponteiro pode criar uma tabela temporária, onde você copiaria a tabela1, depois, poderia criar a tabela2 e alterar a tabela1, conforme precisa.
Se a Tabela2 está vazia e deve ser preenchida com os dados da Tabela1, você nao deve usar update, mas sim insert.
Seria algo como: insert into tabela2(codigo, colunaB, colunaC) select codigo, colunaB, colunaC from tabela1
Depois disso você modifica Tabela1 para apagar essas colunas dela:
Se a Tabela2 está vazia e deve ser preenchida com os dados da Tabela1, você nao deve usar update, mas sim insert.
Seria algo como: insert into tabela2(codigo, colunaB, colunaC) select codigo, colunaB, colunaC from tabela1
Depois disso você modifica Tabela1 para apagar essas colunas dela: alter table tabela 1 drop column <coluna>
A coisa estranha nessa modelagem, é que você tem uma referência da tabela1 para tabela2 (pkCodigoTabela2)…como a tabela2 foi criada depois, seria mais comum você ter na tabela2 uma referência para a tabela1
Esse esquema de 2 tabelas, será a forma como o sistema irá trabalhar daqui pra frente?
Você precisa migrar esses dados uma única vez ou constantemente?
Você já tem algum dado na tabela2 ou eles serao criados baseados no conteúdo da tabela1?
Uma única vez, após isso eu irei utilizar as duas tabelas normalmente.
Eles serão criados a partir do conteúdo na tabela1, porém isso será feito antes de criar o vinculo entre as duas tabelas.
Isso está ocorrendo porque meu escopo mudou.
O que tenho agora, por exemplo:
Tabela1 com os seguintes dados:
Código | Cpf | Nome | Formação
1 | 123.123.123-12 | AbelBueno | Médio
2 | 123.123.123-12 | AbelBueno | Superior
Agora eu vou precisar ter.
Tabela2:
Código | Cpf | Nome
1 | 123.123.123-12 | AbelBueno
Tabela1:
Código | “Cpf” | Formação | CodigoTabela2Pk
1 | Médio | 1
2 | Superior | 1
Conseguiu entender agora?
Os dados da Tabela1 e Tabela2 eu já irei ter, agora eu preciso criar o vinculo entre as duas tabela através do CodigoTabela2Pk, porém não sei como fazer isso. (Irei utilizar o Cpf para o vinculo depois irei excluir essa coluna).