Pessoal, alguém aí tem um exemplo simples de como usar o FORALL para ler uma tabela, verificar se existe na outra, se existir update senao insert.
Ler tab1
verifica se existe registro na tab2
se existe: update na tab2
senao existe: insert na tab2
isso tudo usando FORALL.
Usando FORALL
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Cleberz,
Tudo bem?
Acho que você consegue fazer o comando FORALL + MERGE, como no exemplo abaixo, obtido no OTN FORUM (https://forums.oracle.com/forums/thread ... ID=1066610):
Eu não pesquisei a fundo o tema, mas parece que isso só funcionaria no 11G em diante.
Você pode obter um outro exemplo neste link: http://itknowledgeexchange.techtarget.c ... llections/
Talvez os foristas possam dar outras sugestões.
Abraços e boa sorte !
Sergio Coutinho
Tudo bem?
Acho que você consegue fazer o comando FORALL + MERGE, como no exemplo abaixo, obtido no OTN FORUM (https://forums.oracle.com/forums/thread ... ID=1066610):
FORALL i IN emp_rec.first..emp_rec.last
MERGE INTO emp t
USING dual
ON ( t.emp_id = emp_rec(i).emp_id
AND t.emp_dept = emp_rec(i).emp_dept )
WHEN MATCHED THEN
UPDATE SET
t.col1 = emp_rec(i).col1,
t.col2= emp_rec(i).col2,
...
WHEN NOT MATCHED THEN
INSERT (col1, col2, col3, ...)
VALUES (emp_rec(i).col1, emp_rec(i).col2, emp_rec(i).col3, ...)
;
Eu não pesquisei a fundo o tema, mas parece que isso só funcionaria no 11G em diante.
Você pode obter um outro exemplo neste link: http://itknowledgeexchange.techtarget.c ... llections/
Talvez os foristas possam dar outras sugestões.
Abraços e boa sorte !
Sergio Coutinho
Obrigado Sergio, vou fazer uns testes aqui, tomara que funcione.
Obrigado!
Obrigado!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes