코딩 연습장/데이터베이스(DB)

데이터베이스 - 커서&예외처리 연습문제

Do아 2021. 3. 18. 09:00
728x90

2021/03/04(목)

7번째 수업

--명시적 커서를 사용하여 EMP테이블의 전체 데이터를 조회한 후 커서 안의 데이터가

--다음과 같이 출력되도록 PL/SQL문을 작성해 보세요.

--1-1) LOOP를 사용한 방식

--1-2)FOR LOOP를 사용한 방식

내 풀이

1-1)

SET SERVEROUTPUT ON; 
DECLARE V_EMP_ROW EMP%ROWTYPE; 
CURSOR PRINT_CS IS SELECT * FROM EMP; 
BEGIN OPEN PRINT_CS; 
LOOP FETCH PRINT_CS INTO V_EMP_ROW; 
DBMS_OUTPUT.PUT_LINE('EMPNO : ' || V_EMP_ROW.EMPNO || 'ENAME : ' || V_EMP_ROW.ENAME || 'JOB : ' || V_EMP_ROW.JOB || 'SAL : ' || V_EMP_ROW.SAL || 'DEPTNO : ' || V_EMP_ROW.DEPTNO); 
EXIT WHEN PRINT_CS%NOTFOUND; 
END LOOP; 
CLOSE PRINT_CS; 
END; 
/

1-2)

SET SERVEROUTPUT ON; 
DECLARE CURSOR PRINT_CS IS SELECT * FROM EMP; 
BEGIN FOR I IN PRINT_CS 
LOOP DBMS_OUTPUT.PUT_LINE('EMPNO : ' || I.EMPNO || ' ENAME : ' || 
I.ENAME || ' JOB : ' || I.JOB || ' SAL : ' || I.SAL || ' DEPTNO : ' || I.DEPTNO); 
END LOOP; 
END;

--> FOR LOOP문을쓰면 더 간단하게 만들 수 있다 CURSOR의 OPEN,CLOSE,FETCH가 필요없다

728x90