📃 DATABASE/ORACLE

    [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문

    [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문

    [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서 [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문 [PL/SQL] 커서(CURSOR) (3) : 커서변수 커서와 FOR문 기존의 FOR문 형태는 아래와 같다.1234FOR 인덱스 IN 초기값..최종값LOOP 처리문;END LOOP;cs 그런데, 커서를 이용해서 FOR문을 작성하면 아래와 같이 사용할 수 있다.1234FOR 레코드 IN 커서명 (매개변수1, 매개변수2, ...)LOOP 처리문;END LOOP;cs 이때, 레코드는 테이블 로우 전체를 담아둘 수 있는 오라클 데이터 타입 중 하나이다. 예제123456789101112131415DECLARE -- 커서 선언, 매개변수로 부서코드를 받기 CURSOR CUR_EMP..

    [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서

    [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서

    [PL/SQL] 커서(CURSOR) (1) : 명시적 커서와 묵시적 커서 [PL/SQL] 커서(CURSOR) (2) : 커서와 FOR문 [PL/SQL] 커서(CURSOR) (3) : 커서변수 커서(CURSOR)특정 SQL 문장을 처리한 결과를 담고있는 영역을 가리키는 일종의 포인터로, 커서를 사용하면 처리된 SQL문장의 결과 집합에 접근할 수 있다.(커서선언(명시적커서))-커서열기-패치-커서닫기 3단계로 진행된다. 묵시적 커서오라클 내부에서 자동으로 생성되어 사용하는 커서로, PL/SQL 블록에서 실행하는 문장(INSERT, UPDATE, MERGE, DELETE, SELECT INTO)이 실행될 때마다 자동으로 만들어져 사용된다.개발자 입장에서는 이러한 커서의 동작을 관여할 수는 없지만, 커서 속성을 ..

    [PL/SQL] 트랜잭션

    트랜잭션특정 테이블에서 데이터를 읽어 조작 후 다른 테이블에 입력하거나 갱신, 삭제하는데 처리 도중 오류가 발생하면 모든 작업을 원상태로 되돌리고, 처리과정이 모두 성공했을 때만 최종적으로 데이터베이스에 반영하는 것 COMMIT데이터의 처리내역을 최종적으로 반영시키는 것1COMMIT [WORK];cs ROLLBACK데이터베이스에 가해진 변경사항을 취소시킨다.1ROLLBACK [WORK] [TO [SAVEPOINT] 세이브포인트명];cs COMMIT은 작업이 성공했을 때, ROLLBACK은 작업이 실패했을 때 처리하므로 일반적으로 PL/SQL 코드를 작성할 때 디폴트로 실행부 맨 하단에 COMMIT을 명시한다. 반면, ROLLBACK은 예외처리와 함께 사용됭 특정 예외가 발생했을 때 예외처리 구문에 ROL..

    [PL/SQL] 예외처리(3) : 효율적인 예외처리

    [PL/SQL] 예외처리(3) : 효율적인 예외처리

    예외처리(1) : 예외처리란? 예외처리(2) : 시스템 예외와 사용자 정의 예외 예외처리(3) : 효율적인 예외처리 효율적인 예외처리 방법 1. 시스템 예외인 경우는 OTHERS를 사용하자모든 시스템 예외를 알 수 없기 때문에, 모든 시스템 예외를 잡아주는 OTHERS와 예외의 정보를 알려주는 SQLCODE, SQLERRM을 적극 사용하자. 2. 예외처리 루틴을 공통 모듈화하고, 발생된 예외 로그를 남기자발생한 예외에 대한 로그 테이블을 만들어 예외가 발생할 때 만다 로그 테이블에 기록하자. 3. 사용자 정의 예외도 별도의 테이블을 미리 만들어 관리한다.동일한 예외 코드의 중복을 막기위해서 예제먼저, 예외 로그를 남길 테이블을 만든다.123456789CREATE TABLE ERROR_LOG( ERROR_..

    [PL/SQL] 예외처리(2) : 시스템 예외와 사용자정의 예외

    [PL/SQL] 예외처리(2) : 시스템 예외와 사용자정의 예외

    예외처리(1) : 예외처리란? 예외처리(2) : 시스템 예외와 사용자 정의 예외 예외처리(3) : 효율적인 예외처리 시스템 예외예외처리시 OTHERS 외에 사용할 수 있는 시스템 예외명이 존재하는데, 미리 정의된 예외라고 한다. 종류 예제1234567891011121314151617CREATE OR REPLACE PROCEDURE EXCEPTION_PROCIS VI_NUM NUMBER := 0;BEGIN VI_NUM := 10 / 0; DBMS_OUTPUT.PUT_LINE('SUCCESS');EXCEPTION WHEN ZERO_DIVIDE THEN DBMS_OUTPUT.PUT_LINE('오류1'); DBMS_OUTPUT.PUT_LINE(SQLERRM); WHEN OTHERS THEN DBMS_OUTPUT..

    [PL/SQL] 예외처리 (1) : 예외처리란?

    [PL/SQL] 예외처리 (1) : 예외처리란?

    예외처리(1) : 예외처리란? 예외처리(2) : 시스템 예외와 사용자 정의 예외 예외처리(3) : 효율적인 예외처리 예외처리예외에는 시스템 예외와 사용자 정의 예외가 있다. 시스템 예외는 오라클 내부에 미리 정의된 예외이고, 사용자 정의 예외는 사용자가 직접 예외를 정해서 사용하는 것이다.구체적인 예외명을 알 수 없을 때는 OTHERS를 사용하면 오라클 시스템에서 PL/SQL 코드상에서 발생한 런타임 예외를 자동으로 잡아준다. 구문1234EXCEPTION WHEN 예외명 THEN 예외처리구문1 WHEN 예외명 THEN 예외처리구문2 ... WHEN OTHERS THEN 예외처리구문N;cs 예제123456DECLARE VI_NUM NUMBER := 0;BEGIN VI_NUM := 10 / 0; DBMS_O..

반응형