본문으로 바로가기

[DataBase] PL / SQL 개념

category Programming/ DataBase 2018. 4. 18. 08:27

PL / SQL 이란?




PL / SQL 은 Procedure LanguageStructured Query Language의 줄임말로 데이터베이스 응용프로그램을 작성하는데 사용하는 오라클의 SQL전용 언어이다.


오라클의 경쟁사인 마이크로소프트사의 SQL SERVER는 T-SQL이라는 이름의 SQL전용 언어를 사용한다. SQL전용 언어는 SQL문장에서 변수 정의, 조건 처리(IF), 반복 처리(LOOP, WHILE, FOR) 등을 지원하는 오라클 자체에 내장되어 있는 절차적 언어로서 SQL만으로는 처리하기 어려운 문제를 해결한다.


PL / SQL은 SQL Developer 혹은 SQL명령창(SQLPLUS)에서 바로 작성하고 컴파일한 후 결과를 실행한다. PL/ SQL로 개발한 프로그램은 SQL Developer에 프로시저로 저장할 수 있으며 나중에 필요할 때마다 호출하여 사용할 수 있다.


------------------------------------------------------------------------------------------------

PL / SQL은 블록(BLOCK) 구조로 되어 있으며 3부분으로 나눌 수 있다.


DECLARE

선언부(DECLARE SECTION)

- 변수나 상수를 선언

BEGIN

실행부(EXECUTABLE SECTION)

- SQL 문

- 제어문, 반복문

- 커서

EXCEPTION

예외 처리부(EXCEPTION SECTION)

END;

/

------------------------------------------------------------------------------------------------

PL / SQL 프로그램의 작성요령은 다음과 같다.

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

  • END 뒤에 ;을 사용하여 하나의 블록이 끝났다는 것을 명시한다.

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

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

  • 단일 행 주석은 --이고 여러 행 주석은 /* */이다.

  • PL / SQL 블록은 행에 /가 있으면 종결된다.

------------------------------------------------------------------------------------------------



이제 'Hello World'를 출력하는 PL / SQL 문을 작성해보자. 화면 출력을 위해서는 PUT_LINE이란 프로시저를 이용한다. (프로시저는 일종의 함수개념으로 생각하면 된다. 프로시저는 정의된 다음 오라클(DBMS)에 자동으로 저장되므로 저장 프로시저라고도 한다. 추후에 다른 글에서 포스팅할 것임.) PUT_LINE은 오라클이 제공해주는 프로시저로 DBMS_OUTPUT 패키지에 묶여 있다. 따라서 DBMS_OUTPUT.PUT_LINE과 같이 사용해야 한다.

오라클의 환경 변수 SERVEROUTPUT은 PUT_LINE 프로시저가 출력해 주는 내용을 화면에 보여주도록 설정하는 환경 변수인데 디폴트 값이 OFF이기에 ON으로 변경해야만 한다.



- PL / SQL문 작성






- 실행 결과