Uma das formas de se fazer é com uma procedure do tipo:

CREATE OR REPLACE PROCEDURE fast_way IS
TYPE PartNum IS TABLE OF parent.part_num%TYPE INDEX BY BINARY_INTEGER;
x PartNum;
TYPE PartName IS TABLE OF parent.part_name%TYPE INDEX BY BINARY_INTEGER;
y PartName;
BEGIN
  SELECT part_num, part_name
  BULK COLLECT INTO x, y
  FROM parent;

  FOR i IN x.FIRST .. x.LAST
  LOOP
    x(i) := x(i) * 10;
  END LOOP;

  FORALL i IN x.FIRST .. x.LAST
  INSERT INTO child
  (part_num, part_name)
  VALUES
  (x(i), y(i));
  COMMIT;
END fast_way;

Retirado de http://www.psoug.org/reference/bulk_collect.html

Lembrando que com o FORALL você não pode fazer rollback depois, mas é bem
mais eficiente...

-----Mensagem original-----
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Fernandes Rocha
Enviada em: quinta-feira, 11 de agosto de 2005 10:47
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Atualizando linhas de uma tabela com base em outra
tabela

Muito bom dia...


Gostaria de saber como faco para atualizar linhas de uma tabela com base em
outra tabela:


Por exemplo:


Preciso fazer um update no campo MAE_NUMDOC da tabela MAE010, com os dados
do campo A1_CGC da tabela SA1010 ...

O que estiver no primeiro registro no campo A1_CGC, tem que ir para o
primeiro registro no campo MAE_NUMDOC, assim
sucessivamente ate' concluir os 66.350 registros




Desde ja agradeco.




1 abracao.


Fernandes
[EMAIL PROTECTED]

Organizacoes Fernandes de Souza Ltda.
Drogaria Moderna.


"Somente depois de esgotados todos os recursos naturais, o homem sabera' que
o dinheiro nao se come".

* Autor desconhecido.



______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
Links do Yahoo! Grupos




 






______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a