개발관련/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
개발관련/ORACLE2012. 6. 15. 13:49
반응형

COUNT(*) OVER () : 전체행 카운트



COUNT(*) OVER (PARTITION BY 컬럼) : 그룹단위로 나누어 카운트



MAX(컬럼) OVER() : 전체행 중에 최고값



MAX(컬럼) OVER(PARTITION BY 컬럼) : 그룹내 최고값



MIN(컬럼) OVER () : 전체행 중에 최소값



MIN(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 최소값



SUM(컬럼) OVER () : 전체행 합



SUM(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 합



AVG(컬럼) OVER () : 전체행 평균



AVG(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 평균



STDDEV(컬럼) OVER () : 전체행 표준편차



STDDEV(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 표준편차



RATIO_TO_REPORT(컬럼) OVER () : 현재행값/SUM(전체행값) 퍼센테이지로 나타낼경우 100곱하면 됩니다.



RATIO_TO_REPORT(컬럼) OVER (PARTITION BY 컬럼) : 현재행값 / SUM(그룹행값) 퍼센테이지로 나타낼경우 100곱하면 됩니다.



from http://tong.nate.com/rahxephon/35087891 






올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼




반응형
Posted by bbokkun
개발관련/ORACLE2012. 6. 13. 22:37
반응형


간단한 샘플로 merge into 의 동작원리를 알아보자.



위의 형식으로 샘플을 돌려봤으면 동작하는 원리는 파악을 했을것이다. 



이제부턴 참조. 

한개의 테이블에 merge into 를 쓰고 싶은데 테이블을 금방 생성한 경우라면 데이터가 한건도 없다.
아무리 select 를 해도 merge 가 되지않는다. 정상적이라면 분명히 not matched를 타서 insert가 되야하는데 말이지...

자신의 테이블을 merge into 할때는 아래를 참조하자.


한 테이블에 할때는 굳이 where절의 값을 비교할 필요가 없다. 더미테이블을 뒤져서 구색만 갖춰 놓은뒤,
직접 where절에 변수를 써넣자. 그러면 테이블에 한줄의 로우가 없더라도 insert가 잘 될것이다.


이상..




올블로그추천버튼 블코추천버튼 블로그뉴스추천버튼 믹시추천버튼 한RSS추가버튼 구글리더기추천버튼



반응형

'개발관련 > ORACLE' 카테고리의 다른 글

Oracle 버전 정보 확인하기 sql 쿼리  (0) 2017.07.03
추첨로직 참고.  (0) 2017.06.26
oracle의 over를 다양하게 사용하기.  (0) 2012.06.15
Posted by bbokkun