nickjoIT
CURSOR UPDATE 본문
DECLARE
--조회 대상 데이타에 대한 락을 점유하며 커서 오픈
CURSOR c IS SELECT * FROM emp FOR UPDATE;
--락이 걸린 데이터에 대한 커서 오픈 요청 시 바로 에러 출력
--CURSOR c IS SELECT * FROM emp FOR UPDATE NOWAIT;
--락이 걸린 데이터에 대한 커서 오픈 요청 시 3초 후에도 락 대기 시 에러 출력
--CURSOR c IS SELECT * FROM emp FOR UPDATE WAIT 3;
BEGIN
--CURRENT OF를 이용하여 커서에 읽어들인 로우의 rowid를 활용하여 성능 개선
--기본 키 인덱스를 이용하는 것보다도 성능이 우월함
FOR rec IN c LOOP
UPDATE emp
SET sal=sal+0
WHERE CURRENT OF c;
END LOOP;
COMMIT;
END;
/
'DB > oracle' 카테고리의 다른 글
centos7 oracle 11g r2 설치 (0) | 2018.09.12 |
---|---|
분석함수의 성능개선 그 결과는 (0) | 2017.12.06 |
CURSOR FOR LOOP (0) | 2017.05.26 |
CURSOR LOOP (0) | 2017.05.26 |
단 한건만 반화하는 명시적 커서의 예 (0) | 2017.05.26 |
Comments