PL/SQL
- PL/SQL은 Procedure Language/SQL
- 서버에서 절차적인 처리를 위해 표준 SQL을 확장한 절차적 언어
- 블록(BLOCK) 구조로 여러SQL문을 한번에 실행
- 모듈화, 캡슐화가 가능
SQL
- 쉽게 배울 수 있으며, 작성하기 쉽다.
- ANSI에 문법 표준화
- 변수선언, 비교, 반복, 에러처리 불가
- 캡슐화 할 수 없다.
- 매번 구문 분석으로 성능저하
- 긴 구문 전송으로 네트워크 트래픽 증가
PL/SQL
- 변수 , 비교, 반복, 예외처리 가능
- 모듈화 및 캡슐화 가능
- 서버에 저장되어 빠른 실행
- 문법에 표준이 없다.
- 각 DBMS에 종속적이다.
PL/SQL Block Structure
DECLARE
Declatation Section(선언 부분):옵션
- 변수, 상수, CURSOR와 USER_DEFINE Exception등 선언
BEGIN
Excutable Section(실행 부분): 필수
- 처리할 명령문들을 절차적으로 기술 SQL문, 반복문, 조건문
- BEGIN으로 시작 END로 끝남
EXCEPTION
Exception Section(예외처리부분):옵션
SELECT SUBSTR('Hello, world!', -3) FROM DUAL;
출력결과 ld!