2012-01-23 3 views
1

3 천만 개의 행을 가진 PLSQL 테이블이 있으며 모든 행에 대해 필드를 업데이트하려고합니다. PLSQL에서 매우 큰 테이블의 필드를 반복적으로 업데이트하는 방법은 무엇입니까?

난 (100,000 행 간격으로 업데이트를 일괄 처리) 루프 시도하지만 새로운 상하 값을 통해 루프 동작은 행 개수가 소진 될 때까지
update tableA set columnA=1 where rownum between lower and upper 

를 사용할 수 없다.

답변

3

왜 반복적으로 업데이트 하시겠습니까? 왜 많은 수의 행을 업데이트 할 수있는 가장 효율적인 방법 That't 간단한 UPDATE

UPDATE tableA 
    SET columnA = 1 

하고 싶지 않아. 또한 최소 금액 REDOUNDO을 생성합니다.

+0

이렇게 간단한 업데이트로 3 천만 행의 오류가 발생합니다. –

+0

@WuschelbeutelKartoffelhuhn - 어떤 오류가 발생합니까? 왜 'UPDATE'를 여러 부분으로 나누어도 같은 오류가 발생하지 않는다고 생각하십니까? –

+0

인덱스 "something"을 1024로 확장 할 수 없습니다. –

관련 문제