반응형
-
ORACLE을 사용중이며, 한 번에 업데이트를 10000건 정도를 해야한다.
물론 FOR 문을 돌리면 된다.
하지만 속도면에서 쿼리 자체를 한 번 실행하는 것과 여러번을 실행하는것의 차이는 명백하다.
고로 한번에 쿼리문을 만들어서 돌려보자.
처음에 IN 으로 돌려봤지만 ORA-01795 오류가 튀어나온다.
이 오류는
ORA-01795: maximum number of expressions in a list is 1000ORA-01795: 리스트로 지정할 수 있는 식의 최대수는1000입니다.
IN 절 안에 들어갈 수 있는 최대 목록이 1000을 넘길 수 없다는 오류... 10000개는 어림도 없다.
한 번에 실행 시킬 수 있는 방법을 찾아보다가 자연스레 프로시져에 눈이 가게되고 MYBATIS 에서 실행 할 수 있는지 테스트해봤다.
결과는 만족. ㅎ
UPDATE문은 이렇게
DELETE 문도 마찬가지다.
주의 할 점은 OPEN 과 CLOSE 속성에 있는 값을 그대로 사용해야 문제가 생기지 않는다.
세미콜론(;) 이 빠지면....
ORA-00911: invalid character
ORA-00911: 문자가 부적합합니다.
위의 에러를 만나게 될 것입니다. ㅎ
그럼 이만.
공감버튼을 누르는것은 돈이 들지 않습니다. 한 번씩 꾹! 클릭! 부탁드려요.
반응형