Você poderia colocar um loop para comitar a cada 10.000 por exemplo...
Em 12 de julho de 2010 14:02, Samuel Corradi <corrad...@yahoo.com.br>escreveu: > > > Ola pessoal! > > Tenho que faz update em um campo do tipo VARCHAR2. > > Para isso fiz um PL que abre um cursor e percorrer todas linhas > alterando os valores. > > Agora, estou tendo um problema durante a atualizacao. Aparentemente, os > redo logs enchem e o sript para. Nao sei dizer exatamente o que estah > acontecendo, mas acredito que tenho que fazer um controle maior durante > esse update. > > Alguem tem alguma sugestao do que pode estar acontecendo? Alguem jah > passou por esse trabalho de atualizar muitos registros de uma tabela? > > Segue meu PL para referencia: > > ================================================ > > DECLARE > CURSOR c1 IS select * from sadig.mod0046; > flag BOOLEAN DEFAULT false; > tamanho PLS_INTEGER DEFAULT 0; > codigo VARCHAR2(45); > nome VARCHAR2(85); > BEGIN > FOR registro IN C1 > LOOP > codigo := TRIM(SUBSTR(registro.f14, INSTR(registro.f14,'-',-1) + 2, > LENGTH(registro.f14))); > nome := TRIM(SUBSTR(registro.f14, 1, INSTR(registro.f14,'-',-1) - 2 )); > UPDATE sadig.mod0046 SET f14=nome || '[' || codigo || ']' WHERE > f1=registro.f1 and f6=registro.f6; > END LOOP; > END; > > ================================================= > > Obrigado! > > > -- -------------------------------------------------------------- Raul Francisco da Costa Ferreira de Andrade DBA - OCA - Oracle Certified Associate COBIT Foundation 4.1 Fone: (41)8855-8874 Brt email: raulf...@gmail.com Skype: raul.andrade www.clickdba.com "A adversidade leva alguns a serem vencidos e outros a baterem recordes." William Arthur Ward [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -------------------------------------------------------------------------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -------------------------------------------------------------------------------------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ ------------------------------------------------------------------------------------------------------------------------ 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: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html