Boa tarde a Todos. Ricardo a solução é boa, porem acredito que um bulk collect com forall seja mais eficiente. Segue o link PLSQL 101
| | | | | | | | | | | PLSQL 101 PLSQL 101 | | | Em terça-feira, 17 de outubro de 2017 12:47:51 BRST, Ricardo Sá ricardo....@terra.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Show, @Gustavo, era isto mesmo que eu precisava. Muito obrigado. @Rodrigo, Agradeço também a ajuda. De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: terça-feira, 17 de outubro de 2017 12:09 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] AJUDA - UPDATE MONSTRO TABELA DE 11,5 MILHOES DE LINHAS Boa tarde, Ricardo! Veja se isto ajuda: É um bloco PL/SQL que, a cada 500 registros atualizados, efetua um COMMIT, para não comprometer a área de Rollback... Obs: Efetuar commit a cada 500 registros é só um exemplo... Este valor pode ser maior ou menor, de acordo com a área de Rollback... DECLARE vQtLinhas NUMBER(3) := 0; BEGIN FOR Reg IN (SELECT CAMPO_PK ID_TABELA -- Campo chave da tabela FROM TABELA) LOOP UPDATE TABELA SET CAMPO_CHAR = '' WHERE CAMPO_PK = Reg.ID_TABELA; vQtLinhas := vQtLinhas + 1; -- Registra a Qtde de Linhas atualizadas IF vQtLinhas = 500 THEN -- Quando o total de linhas atualizadas atingir 500, efetua um COMMIT; COMMIT; vQtLinhas := 0; END IF; END LOOP; COMMIT; -- Este COMMIT é importante para atualizar o último bloco de linhas que não chegou a 500 (Ex: As últimas 387 linhas) END; Em 17 de outubro de 2017 11:34, Ricardo Sá ricardo....@terra.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Bom dia, a todos. Solicito a gentileza se alguém pode me ajudar a resolver uma questão. Preciso realizar um UPDATE monstro em um tabela 11.500.000 (11,5 milhoes de linhas). O update é sobre uma coluna CHAR(1) com o valor “ “. Pensei em um bloco PLSQL, mas me falta neste momento criatividade para montar este bloco. Obs.: O banco é 11.2.0.4.0 (Enterprise Edition) sobre Oracle RAC com 2 nós.... esta tabela tem 35 indices... (sei que é absurdo, mas é o ERP que foi construído desta forma). Alguem poderia, me ajudar nesta questão. Ricardo Sá (11) 98286-0048 -- Atenciosamente, Gustavo Guedes de Sene #yiv7931673260 #yiv7931673260 -- #yiv7931673260ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv7931673260 #yiv7931673260ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv7931673260 #yiv7931673260ygrp-mkp #yiv7931673260hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv7931673260 #yiv7931673260ygrp-mkp #yiv7931673260ads {margin-bottom:10px;}#yiv7931673260 #yiv7931673260ygrp-mkp .yiv7931673260ad {padding:0 0;}#yiv7931673260 #yiv7931673260ygrp-mkp .yiv7931673260ad p {margin:0;}#yiv7931673260 #yiv7931673260ygrp-mkp .yiv7931673260ad a {color:#0000ff;text-decoration:none;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ygrp-lc {font-family:Arial;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ygrp-lc #yiv7931673260hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ygrp-lc .yiv7931673260ad {margin-bottom:10px;padding:0 0;}#yiv7931673260 #yiv7931673260actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv7931673260 #yiv7931673260activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv7931673260 #yiv7931673260activity span {font-weight:700;}#yiv7931673260 #yiv7931673260activity span:first-child {text-transform:uppercase;}#yiv7931673260 #yiv7931673260activity span a {color:#5085b6;text-decoration:none;}#yiv7931673260 #yiv7931673260activity span span {color:#ff7900;}#yiv7931673260 #yiv7931673260activity span .yiv7931673260underline {text-decoration:underline;}#yiv7931673260 .yiv7931673260attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv7931673260 .yiv7931673260attach div a {text-decoration:none;}#yiv7931673260 .yiv7931673260attach img {border:none;padding-right:5px;}#yiv7931673260 .yiv7931673260attach label {display:block;margin-bottom:5px;}#yiv7931673260 .yiv7931673260attach label a {text-decoration:none;}#yiv7931673260 blockquote {margin:0 0 0 4px;}#yiv7931673260 .yiv7931673260bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv7931673260 .yiv7931673260bold a {text-decoration:none;}#yiv7931673260 dd.yiv7931673260last p a {font-family:Verdana;font-weight:700;}#yiv7931673260 dd.yiv7931673260last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv7931673260 dd.yiv7931673260last p span.yiv7931673260yshortcuts {margin-right:0;}#yiv7931673260 div.yiv7931673260attach-table div div a {text-decoration:none;}#yiv7931673260 div.yiv7931673260attach-table {width:400px;}#yiv7931673260 div.yiv7931673260file-title a, #yiv7931673260 div.yiv7931673260file-title a:active, #yiv7931673260 div.yiv7931673260file-title a:hover, #yiv7931673260 div.yiv7931673260file-title a:visited {text-decoration:none;}#yiv7931673260 div.yiv7931673260photo-title a, #yiv7931673260 div.yiv7931673260photo-title a:active, #yiv7931673260 div.yiv7931673260photo-title a:hover, #yiv7931673260 div.yiv7931673260photo-title a:visited {text-decoration:none;}#yiv7931673260 div#yiv7931673260ygrp-mlmsg #yiv7931673260ygrp-msg p a span.yiv7931673260yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv7931673260 .yiv7931673260green {color:#628c2a;}#yiv7931673260 .yiv7931673260MsoNormal {margin:0 0 0 0;}#yiv7931673260 o {font-size:0;}#yiv7931673260 #yiv7931673260photos div {float:left;width:72px;}#yiv7931673260 #yiv7931673260photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv7931673260 #yiv7931673260photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv7931673260 #yiv7931673260reco-category {font-size:77%;}#yiv7931673260 #yiv7931673260reco-desc {font-size:77%;}#yiv7931673260 .yiv7931673260replbq {margin:4px;}#yiv7931673260 #yiv7931673260ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv7931673260 #yiv7931673260ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv7931673260 #yiv7931673260ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv7931673260 #yiv7931673260ygrp-mlmsg select, #yiv7931673260 input, #yiv7931673260 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv7931673260 #yiv7931673260ygrp-mlmsg pre, #yiv7931673260 code {font:115% monospace;}#yiv7931673260 #yiv7931673260ygrp-mlmsg * {line-height:1.22em;}#yiv7931673260 #yiv7931673260ygrp-mlmsg #yiv7931673260logo {padding-bottom:10px;}#yiv7931673260 #yiv7931673260ygrp-msg p a {font-family:Verdana;}#yiv7931673260 #yiv7931673260ygrp-msg p#yiv7931673260attach-count span {color:#1E66AE;font-weight:700;}#yiv7931673260 #yiv7931673260ygrp-reco #yiv7931673260reco-head {color:#ff7900;font-weight:700;}#yiv7931673260 #yiv7931673260ygrp-reco {margin-bottom:20px;padding:0px;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ov li a {font-size:130%;text-decoration:none;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv7931673260 #yiv7931673260ygrp-sponsor #yiv7931673260ov ul {margin:0;padding:0 0 0 8px;}#yiv7931673260 #yiv7931673260ygrp-text {font-family:Georgia;}#yiv7931673260 #yiv7931673260ygrp-text p {margin:0 0 1em 0;}#yiv7931673260 #yiv7931673260ygrp-text tt {font-size:120%;}#yiv7931673260 #yiv7931673260ygrp-vital ul li:last-child {border-right:none !important;}#yiv7931673260