위로 아래

PL / SQL

PL / SQL (Procedural Language extension to SQL)

  1. SQL을 확장한 절차적 언어
  2. 관계형 데이터베이스에서 사용되는 오라클의 표준 데이터 엑세스 언어
  3. SQL의 단점을 해결할 수 있다.
  4. 블록 단위의 실행을 제공한다. 
  5. 종류
    1. Procedure 프로시저
    2. Function 함수
    3. Trigger 트리거

 

SQL의 단점

  1. 변수가 없다
  2. 한 번에 하나의 명령문만 사용할 수 있다 (트래픽 증가)
  3. 제어문(if, loop) 사용 불가
  4. 예외처리가 없다

 

프로시저

  1. 함수처럼 로직을 처리하지만, 결과 값을 반환하지는 않는다.
  2. 자주 사용하는 로직을 프로시저로 만들고 필요할 때마다 호출할 수 있다.
  3. 여러가지 쿼리를 한 번에 처리할 때, 또는 복잡한 쿼리를 처리할 때 사용할 수 있다.

 

 


기본 블록 구조

DECLARE

  1. 선언부
  2. 변수 / 상수 / 커서 등을 선언

 

BEGIN 

  1. 실행부
  2. 절차적 형식으로 SQL문을 실행할 수 있도록 해주는 부분
  3. 제어문, 반복문, 함수 정의 등의 로직을 기술할 수 있다

 

EXCEPTION 

  1. 예외 처리부
  2. PL / SQL 문이 실행되는 중에 에러가 발생했을 때 해결하기 위한 문장을 기술

 

END

  1. 실행문 종료

 

 


사용법

DECLARE 
	msg varchar(40) := 'hello world'; -- 선언부
	BEGIN
	dbms_output.put_line(msg); -- 실행부
    END;
    /