[DataBase] PL/SQL이란?

DataBase 2018. 11. 7. 00:36






▶ PL/SQL이란?


- BLOCK구조로 되어있고, PL/SQL자신이 컴파일 엔진을 포함하고 있다

- 블록의 기본구조는 선언부, 실행부, 예외처리부로 구성되어있다.



▶ PL/SQL BLOCK 구조


DECLARE ( 선언부 )

 생략가능

BEGIN ( 실행부 )

 필수사항

EXCEPTION ( 예외처리부 ) 

 생략가능 

 END;


√ 선언부와 예외처리부는 선택사항으로 생략이 가능하지만 실행부는 필수사항으로 무조건 사용되어야 한다.


1. 선언부(DECLARE), 옵션

- DECLARE로 시작한다

PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 부분

- 필요하지 않으면 생략가능


2. 실행부(BEGIN), 필수

BEGIN으로 시작한다

- 제어문, 반복문, 함수정의 등 로직을 기술할수 있는 부분

- 실행문은 프로그램 내용이 들어가는 부분으로 필수적으로 사용해야함(생략불가능)


3. 예외처리부(EXCEPTION), 옵션

- EXCEPTION으로 시작한다

- 실행 도중 에러 발생시 해결하는 문장들을 기술

- 필요하지 않으면 생략가능




▶ PL/SQL프로그램 작성 요령

1. PL/SQL 블록 내에서는 한 문장이 종료할 때마다 세미콜론( ; )을 사용

2. END 뒤에 ; 을 사용하여 하나의 블록이 끝났다는 것을 꼭! 명시해야 한다

3. PL/SQL 블록의 작성은 편집기를 통해 파일로 작성할 수도 있고, 프롬프트에서 바로 작성할 수도 있다

4. SQL* PLUS 환경에서는 DECLARE나 BEGIN이라는 키워드로 PL/SQL블록이 시작하는 것을 알 수 있다

5.  단일 행 주석 : '--' ,여러 행 주석 : '/* */'  ( * 코드에 주석으로 설명 해놓음 )

6. 쿼리문을 수행하기 위해서 '/'가 반드시 입력되어야 하고, PL/SQL 블록은 행에'/'가 있으면 종결된 것으로 간주


1
2
3
4
5
6
7
8
9
10
BEGIN -- 4. DECLARE나 BEGIN이라는 키워드로 PL/SQL블록이 시작하는 것을 알 수 있다
    dbms_output.put_line('Welcome to Oracle');
    -- 1. 블록 내에서는 한 문장이 종료할 때마다 세미콜론(;)을 사용
END;
    -- 2. END뒤에 세미콜론(;)을 사용하여 하나의 블록이 끝났다는 것을 명시
/ 
/* 
 6. 쿼리문을 수행하기 위해서 '/'가 반드시 입력되어야 하며, 
    PL/SQL 블록은 행에 '/'가 있으면 종결된것으로 간주
*/
cs



* 오라클 화면 출력을 위해서는 PUT_LINE이란 프로시저를 이용한다.


PUT_LINE : 오라클이 제공해주는 프로시저로 DBMS_OUTPUT 패키지에 묶여있다.

└ 사용예시) DBMS_OUTPUT.PUT_LINE(출력내용);