개발관련/IBATIS_MYBATIS2016. 9. 29. 18:21
반응형

 


 

 

-
ORACLE을 사용중이며, 한 번에 업데이트를 10000건 정도를 해야한다. 

물론 FOR 문을 돌리면 된다. 

하지만 속도면에서 쿼리 자체를 한 번 실행하는 것과 여러번을 실행하는것의 차이는 명백하다. 

고로 한번에 쿼리문을 만들어서 돌려보자. 


처음에 IN 으로 돌려봤지만 ORA-01795 오류가 튀어나온다. 

이 오류는 
ORA-01795: maximum number of expressions in a list is 1000

ORA-01795: 리스트로 지정할 수 있는 식의 최대수는1000입니다. 
IN 절 안에 들어갈 수 있는 최대 목록이 1000을 넘길 수 없다는 오류... 10000개는 어림도 없다. 


한 번에 실행 시킬 수 있는 방법을 찾아보다가 자연스레 프로시져에 눈이 가게되고 MYBATIS 에서 실행 할 수 있는지 테스트해봤다. 

결과는 만족. ㅎ




UPDATE문은 이렇게

DELETE 문도 마찬가지다.



주의 할 점은 OPEN 과 CLOSE 속성에 있는 값을 그대로 사용해야 문제가 생기지 않는다. 

세미콜론(;) 이 빠지면....

ORA-00911: invalid character
ORA-00911: 문자가 부적합합니다.

위의 에러를 만나게 될 것입니다. ㅎ


그럼 이만.
-

 





무료통화/무료문자를 포인트로 전환해서 기프티콘, 상품권으로 바꾸자.

http://bbokkun.tistory.com/23





공감버튼을 누르는것은 돈이 들지 않습니다. 한 번씩 꾹! 클릭! 부탁드려요.



반응형
Posted by bbokkun