nickjoIT

단 한건만 반화하는 명시적 커서의 예 본문

DB/oracle

단 한건만 반화하는 명시적 커서의 예

nickjo 2017. 5. 26. 16:19

CREATE OR REPLACE FUNCTION get_ename_func(p_empno NUMBER)

RETURN VARCHAR2

IS

  --명시적 커서 선언

  CURSOR c1 IS

    SELECT ename FROM emp

     WHERE empno=p_empno;

     

  l_ename emp.ename%TYPE;         

BEGIN

  --커서 오픈

  OPEN c1;

  

  --데이터 추출 후 INTO 절 안의 변수에 입력

  FETCH c1 INTO l_ename;

  

  --추출 결과 건수가 0일 경우

  IF c1%NOTFOUND

  THEN

    l_ename := NULL;

  END IF;

  

  --커서 닫기

  CLOSE c1;

  RETURN l_ename;

END;

/

'DB > oracle' 카테고리의 다른 글

CURSOR FOR LOOP  (0) 2017.05.26
CURSOR LOOP  (0) 2017.05.26
커서(Cursor) For Loop  (0) 2017.05.26
For Loop  (0) 2017.05.26
While Loop  (0) 2017.05.26
Comments