오라클/PL/SQL 6

PL/SQL sub program

PL/SQL 익명 블록과 서브 프로그램의 차이PL/SQL 블록에 이름을 지정하고 생성해서 저장해 두었다가 필요할 경우에 호출ㅇ해서 사용할 수 있도록 하는데 이를 서브프로그램 또는 프로그램 단위라 부른다. 대표 적인 유형으로 프로시저(PROCEDURE), 함수(FUNCTION), 패키지(PACKAGE), 트리거(TRIGGER) 가 있다 1. PROCEDURE (프로시저)특정 작업을 처리하는 이름있는 PL/SQL BLOCK 프로시저 생성 - create procedure프로시저 삭제 - drop procedure프로시저 수정 - alter procedure PROCEDURE 생성 문법 :CREATE [OR REPLACE] PROCEDURE PROCEDURE_name [( parameter1 [mode1] d..

오라클/PL/SQL 2014.10.16

PL/SQL 예외처리

컴파일 에러 - PL/SQL 블록이 PARSE 되는 동안 오타 등으로 인해 발생되는 에러런타임 에러 - PL/SQL 블록이 실행되는 동안에 발생되는 에러, 이 런타임 에러를 오라클에서 예외라고 부름 오라클의 예외 종류 - 오라클에서 미리 제공하는 오라클 예외 - 사용자에 의해 정의되는 사용자 정의 예외 오라클 예외 : 오라클이 정의한 상황에서 자동적으로 발생 - 이름이 정해진 예외 : Predefined ORACLE Exception- 이름이 정해지지 않은 예외 : Non-predefined ORACLE Exception 사용자 정의 예외 : 선언부에서 exception 형으로 예외를 선언한 후 실행부 또는 예외처리부에서 RAISE문을 통해 명시적으로 예외 발생 예외 처리 사용하기예외를 처리하기 위해서 ..

오라클/PL/SQL 2014.10.16

PL/SQL CURSOR

커서 - 묵시적 커서(Implicit Cusor) : 필요할 경우 오라클이 자동적으로 선언하여 사용한 후 자동적으로 정리 - 명시적 커서(Explicit Cursor) : 사용자가 정의한 커서른 선언하여 사용하고, 커서의 사용이 끝난 후에는 별도의 정리 작업을 수행해줘야 함 묵시적 커서- 세션 내에 단 한 개만이 선언되어 사용되었다가 문장이 종료됨과 동시에 정리, 1개의 데이터만 저장됨 묵시적 커서 속성- SQL%ROWCOUNT해당 커서에서 실행한 총 행의 개수(가장 마지막 행이 몇 번째 행인지 카운트)를 반환 - SQL%FOUND해당 커서 안에 아직 수행해야 할 데이터가 있을 경우 TRUE 값을 반환하고 없을경우 FALSE 값을 반환 - SQL%NOTFOUND해당 커서 안에 아직 수행해야 할 데이터가 ..

오라클/PL/SQL 2014.10.14

PL/SQL 제어문

1. 조건문 (IF 문)유형 1. IF ~ END IF 문장 조건이 여러 개 일 경우에 사용하는 가장 기본적인 IF 문장문법 : IF (조건) THEN실행문장 ;END IF ;예 : EMP 테이블에서 EMPNO, ENAME, DEPTNO, DNAME 을 출력단 DNAME 의 값은 아래와 같다DEPTNO 가 10 이면 'ACCOUNT' ,DEPTNO 가 20 이면 'RESEARCH' ,DEPTNO 가 30 이면 'SALES' ,DEPTNO 가 40 이면 'OPERATIONS' 로 출력 SCOTT>DECLAREvempno emp.empno%TYPE ;vname emp.ename%TYPE ;vdeptno emp.deptno%TYPE ;vdname VARCHAR2(20) := null ;BEGINSELECT e..

오라클/PL/SQL 2014.10.13

PL/SQL 변수

PL/SQL 에서 변수를 사용하는 이유- 변수는 데이터의 임시 저장 영역이다.- 저장된 값을 조작하기 위해 사용- 저장된 값을 반복해서 재 사용할 수 있다. PL/SQL 에서 사용될 변수의 규칙 - 반드시 문자로 시작해야만 한다.- 문자나 숫자, 특수문자를 포함할 수 있다.- 변수명은 30 bytes 이하여야 한다.- 예약어를 포함하면 안된다 주요 변수들의 종류 단순 변수 -Scalar(스칼라) 변수 와 Reference 변수Scalar 변수 - 단일 값을 가지는 변수의 데이터 형을 직접 지정해 주는 변수, 즉 정수, 실수 이런 형태를 직접 지정Reference 변수 - 데이터 형을 다른 컬럼에서 참조 후 지정하는 방식 (1) Scalar 변수문법 : Identifier [CONSTANT] datatyp..

오라클/PL/SQL 2014.10.13

PL/SQL 시작하기

PL/SQL - Procedural Language/SQL PL/SQL 의 런타임 구조PL/SQL 실행 시 실행 원리 PL/SQL 기본 구조PL/SQL 은 기본적으로 블록(BLOCK) 구조를 가지고 있다. 블록의 기본 구성은 선언부(DECLARE), 실행부(BEGIN), 예외처리부(EXCEPTION)로 구성그 블록 안에 블록을 포함시킬 수 있는 데 포함된 블록을 Nested Block(중첩 블록) 이라고 부름 블록의 유형에는 크게 Anonymous PL/SQL Block(익명블록) 과 Stored PL/SQL Block(저장된 블록) 이 있다.익명블록 = 일회성으로 사용할 경우저장된 블록 = 서버에 파싱해서 자장해 놓고 주기적으로 반복해서 사용할 경우 DECLARE(선언부) 모든 변수나 상수를 선언하는 ..

오라클/PL/SQL 2014.10.13