2020년 7월 19일 일요일

오라클커서, WHERE CURRENT OF 커서

오라클커서, WHERE CURRENT OF 커서

http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=576

5.4 WHERE CURRENT OF 커서

n ROWID, PK칼럼을 이용하지 않고 현재 커서가 참조하는 행을 갱신하고 삭제하는 방법을 제공한다.

n SELECT FOR UPDATE로 읽어 들인 행은 DB LOCK을 거니 조심해야 한다.

SQL> SET SERVEROUTPUT ON

SQL> DECLARE

CURSOR c_emp IS

SELECT ename, sal FROM emp WHERE DEPTNO = 10 FOR UPDATE;

BEGIN

FOR emp_rec IN c_emp LOOP

DBMS_OUTPUT.PUT_LINE(emp_rec.ename || ' ' || emp_rec.sal);

IF emp_rec.sal < 2000 THEN

UPDATE emp SET sal = sal * 1.5

WHERE CURRENT OF c_emp;

ELSE

UPDATE emp SET sal = sal * 1.2

WHERE CURRENT OF c_emp;

END IF;

END LOOP;

END;

/

CLARK 2837

KING 5789

MILLER 1505

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...