728x90
2021/03/04(목)
7번째 수업
1) 커서란?
SELECT문 또는 데이터 조작어 같은 SQL무을 실행했을 때 해당 SQL무을 처리하는 정보를 저장한 메모리 공간
DECLARE CURSOR 커서명 IS SQL문; BEGIN OPEN 커서명; FETCH 커서명 INTO 변수; CLOSE 커서명; END;
커서를 이용한 LOOP문
SET SERVEROUTPUT ON;
DECLARE V_DEPT DEPT%ROWTYPE;
CURSOR C1 IS SELECT DEPTNO, DNAME, LOC FROM DEPT;
BEGIN OPEN C1;
LOOP FETCH C1 INTO V_DEPT;
EXIT WHEN C1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('DEPTNO : ' || V_DEPT.DEPTNO ||'DNAME : ' || V_DEPT.DNAME ||'LOC : ' || V_DEPT.LOC);
END LOOP; CLOSE C1; END;
커서이름%NOTFOUND - 수행된 FETCH문을 통해 추출된 행이 있으면 FALSE, 없으면 TRUE를 반환
커서이름%FOUND - 수행된 FETCH문을 통해 추출된 행이 있으면 TRUE, 없으면 FALSE
커서이름%ROWCOUNT - 현재까지 추출된 행 수를 반환
커서이름%ISOPEN - 커서가 열려 있으면 TRUE,닫혀있으면 FALSE반환
2) 예외처리
프로그램이 실행되는 도중 발생하는 오류를 예외라고 한다
이것을 처리해 주는 것이 예외처리
EXCEPTION WHEN 에외 이름1[OR 예외 이름] THEN 예외처리에 사용할 명령어; WHEN 에외 이름2[OR 예외 이름] THEN 예외처리에 사용할 명령어; ... WHEN OTHERS THEN 예외처리에 사용할 명령어;
--> 예외 종류는 많이 있고 사전 정의 된 예외의 이름이 있다 (이것은 찾아보면 됌)
728x90
'코딩 연습장 > 데이터베이스(DB)' 카테고리의 다른 글
MariaDB설치하기 (가상 머신) (0) | 2021.04.28 |
---|---|
데이터베이스 - 커서&예외처리 연습문제 (0) | 2021.03.18 |
데이터베이스-조건문&반복문 연습문제 (0) | 2021.03.17 |
데이터베이스-조건문&반복문 (0) | 2021.03.17 |
데이터베이스 - 제약조건 (0) | 2021.03.17 |