코딩 연습장/데이터베이스(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