PL SQL 24

PL/SQL 예외 처리 (Exception Handling) - 1 (예외 처리의 정의와 발생 상황, 유형)

[예외 처리 (Exception Handling)] - 예외 일반적으로 실행 도중에 발생하는 에러를 말한다. SQL에서는 에러가 발생했을 때 처리할 수 있는 방법이 없지만, PL/SQL에서는 예외 발생 시 이를 처리(Handling)할 수 있는 예외 처리(Exception Handling)를 지원한다. - 예외 발생 상황 예외는 다음과 같은 상황에서 발생할 수 있다. 1) Oracle 서버에서 암시적으로 발생 2) 프로그램에 의해 명시적으로 발생 - 예외 유형 1) 미리 정의된 Oracle 서버 (암시적 발생) 미리 정의된 예외를 트래핑하기 위해서는 EXCEPTION 구문을 사용하고, ‘WHEN 예외 이름’을 활용하여 처리할 수 있다. 또한 다른 예외를 OR를 통해 묶어서 처리할 수 있다. 2) 미리 정..

PL SQL 2016.07.06

PL/SQL 명시적 커서, 암시적 커서 (Implicit Cursor, Explicit Cursor) - 2

3) 명시적 커서 FOR LOOP 명시적 커서 FOR LOOP를 사용하면 FOR LOOP가 자동적으로 커서를 OPEN해주며, 행이 없을 때까지 FETCH해주고, CLOSE해준다. 또한 ROWTYPE에 해당하는 변수를 따로 DECLARE할 필요가 없다. 이는 암시적으로 선언되기 때문이다. 물론, 이 암시적 카운터는 FOR LOOP안에서만 사용할 수 있다. 그리고 이 커서의 데이터 타입(컬럼 데이터 타입의 집합)도 %ROWTYPE 앞으로 이용할 수 있다. 다음 예제는 명시적 커서를 FOR LOOP를 이용하여 구현한 예제이다. DECLARE CURSOR emp_cur IS SELECT * FROM emp WHERE deptno = 10 ; BEGIN FOR emp_rec IN emp_cur LOOP DBMS_..

PL SQL 2016.07.06

PL/SQL 명시적 커서, 암시적 커서 (Implicit Cursor, Explicit Cursor) - 1

[CURSOR] - 정의 SQL 커서는 Oracle 서버에서 할당한 전용 메모리 영역에 대한 포인터이다. 커서는 SELECT 문의 결과 집합을 처리하는데 사용된다. - 종류 1) 암시적 커서 Oracle 서버에서 SQL문을 처리하기 위해 내부적으로 생성하고 관리한다. SQL 커서 속성을 사용하면 SQL문의 결과를 테스트할 수 있다. 다음 표는 SQL 커서 속성을 나타낸 표이다. SQL 속성 설명 SQL%FOUND 가장 최근의 SQL문이 한 행 이상에 영향을 미친 경우 TRUE로 평가되는 부울 속성 SQL%NOTFOUND 가장 최근의 SQL문이 한 행에도 영향을 미치지 않은 경우 TRUE로 평가되는 부울 속성 SQL%ROWCOUNT 가장 최근의 SQL문에 의해 영향을 받은 행 수를 나타내는 정수 값 2) ..

PL SQL 2016.07.06

PL/SQL Quiz1 대비

PL/SQL의 장점 : 프로시서 생성자와 SQL의 통합, 모듈식 프로그램, 이식성, 예외 처리 가능 DECLARE는 선택 사항, BEGIN은 필수, EXCEPTION은 선택 사항, END;/는 필수 사항 프로시저란 리턴 값을 하나 이상 가질 수 있는 프로그램을 말한다 함수란 리턴 값을 반드시 반환해야 하는 프로그램을 말한다 패키지란 하나 이상의 프로시저, 함수, 변수, 예외 등의 묶음을 말한다. 지정된 이벤트가 발생하면 자동으로 실행하는 블록을 트리거라고 한다. PL/SQL Block의 종류는 이름 있는 블록(프로시서, 함수, 패키지, 트리거), 익명 블록으로 나뉜다. 변수의 선언은 DECLARE절에서만 가능하다. 그리고 BEGIN 섹션에서 새 값이 할당될 수 있다. 단일 값을 저장하고 있는 변수 : 스..

PL SQL 2016.07.05