01. PL/SQL 구조
블록이란?
PL/SQL은 데이터베이스 관련 특정 작업을 수행하는 명령어와 실행에 필요한 여러 요소를 정의하는 명령어 등으로 구성되며, 이러한 명령어를 모아 둔 PL/SQL 프로그램의 기본 단위를 블록이라고 한다.
구성키워드
1) DECLARE (선언부) [선택사항] - 실행에 사용될 변수, 상수, 커서 등을 선언
2) BEGIN (실행부) [필수사항] - 조건문, 반복문, SELECT, DML, 함수 등을 정의
3) EXCEPTION (예외 처리부) [선택사항] - PL/SQL 실행 도중 발생하는 오류/예외상황을 해결하는 문장 기술
기본형식
DECLARE
[실행에 필요한 여러 요소 선언] ;
BEGIN
[작업을 위해 실제 실행하는 명령어] ;
EXCEPTION
[PL/SQL 수행 도중 발생하는 오류 처리] ;
END ;
/
선언부와 예외 처리부는 생략 가능하지만 실행부는 반드시 존재해야 한다. 필요에 따라 PL/SQL 블록 안에 다른 블록을 포함할 수도 있다. 이를 중첩블록 이라고한다.
HELLO,PL/SQL 출력하기
가장 간단한 형태의 PL/SQL 문을 작성하여 실행해보자. PL/SQL 실행 결과를 화면에 출력하기 위해 다음과 같이 SERVEROUTPUT 환경 변수 값을 ON으로 변경해 주어야 한다. PUT_LINE은 화면 출력을 위해 오라클에서 기본으로 제공하며 DBMS_OUTPUT 패키지에 속해있다. 작성한 PL/SQL문에는 선언부와 예외 처리부가 생략되어 있고 마지막에 /가 작성되어있다.
SET SERVEROUTPUT ON;
BEGIN
DBMS_OUTPUT.PUT_LINE('HELLO PL/SQL') ;
END;
/
PL/SQL문을 작성하고 실행할 때 주의점
1. PL/SQL 블록을 구성하는 DECLARE, BEGIN, EXCEPTION 키워드에는 세미콜론 사용X
2. PL/SQL 블록의 각 부분에서 실행해야 하는 문장 끝에는 세미콜론 사용
3. PL/SQL문 내부에서 한줄주석(--)과 여러줄주석( /* ~ */)을 사용할 수 있다.
4. PL/SQL문 작성을 마치고 실행하기 위해 마지막에 /를 사용한다.
그리고 PL/SQL문을 작성하고 실행하기 전에 SET SERVEROUTPUT ON 명령어를 실행하여 결과를 출력해야 한다. 접속한 계정이 변경되거나 접속이 끊어진 후 다시 접속했다면 반드시 명령어를 실행해 주어야 PL/SQL 결과를 확인할 수 있다.
PL/SQL 주석
PL/SQL 주석은 PL/SQL 코드에 포함되어 있지만 실행되지 않는 문장을 뜻한다. 일반적으로 특정 기호를 사용하여 코드 설명 또는 이력 등을 남겨 놓거나 일시적으로 실행되지 않기를 원하는 코드를 삭제하지 않고 남겨두는 용도로 주석을 지정한다.