[PL/SQL 개관]
- 정의
SQL을 확장한 절차적 언어(Procedural Language)이다. 관계형 데이터베이스에서 사용되는 Oracle의 표준 데이터 엑세스 언어로, 프로시저 생성자를 SQL과 완벽하게 통합한다. 유저 프로세스가 PL/SQL 블록을 보내면, 서버 프로세서는 PL/SQL Engine에서 해당 블록을 받고 SQL과 Procedural를 나눠서 SQL은 SQL Statement Executer로 보낸다.
- 특징
PL/SQL은 다음 SQL의 단점들을 개선해준다.
1) 변수가 없다.
2) 단문 형식이다. (한번에 하나의 명령문만 사용 가능 => 트래픽 증가)
3) 제어문이 없다. (IF, LOOP)
4) 예외처리가 없다.
또한 블록 단위의 실행을 제공한다. 이를 위해 BEGIN과 END;를 사용한다. 그리고 마지막 라인에 /를 입력하면 해당 블록이 실행된다.
- 장점
1) 프로시저 생성자와 SQL의 통합
2) 성능 향상 : 잘 만들어진 PL/SQL 명령문이라는 가정하에 좋아진다.
3) 모듈식 프로그램 개발 : 논리적인 작업 을 진행하는 여러 명령어들을 하나의 블록을 만들 수 있다.
4) Oracle 툴과의 통합
5) 이식성
6) 예외 처리
- PL/SQL Block의 종류
1) 익명 블록 : 이름이 없는 PL/SQL Block을 말한다.
2) 이름 있는 블록 : DB의 객체로 저장되는 블록이 있다.
- 프로시저 : 리턴 값을 하나 이상 가질 수 있는 프로그램을 말한다.
- 함수 : 리턴 값을 반드시 반환해야 하는 프로그램을 말한다.
- 패키지 : 하나 이상의 프로시저, 함수, 변수, 예외 등의 묶음을 말한다.
- 트리거 : 지정된 이벤트가 발생하면 자동으로 실행되는 PL/SQL 블록이다.
'PL SQL' 카테고리의 다른 글
PL/SQL 개관 - 3 (SELECT문) (0) | 2016.07.07 |
---|---|
PL/SQL 개관 - 2 (중첩 블록 및 PL/SQL에서 사용 가능한 SQL) (0) | 2016.07.07 |
PL/SQL 패키지 (Package) - 3 (패키지 작성 지침, 오버로드, 지속 상태, 상수 및 예외 표준화) (0) | 2016.07.07 |
PL/SQL 패키지 (Package) - 2 (Spec, Body 생성 방법) (0) | 2016.07.07 |
PL/SQL 패키지 (Package) - 1 (정의, 이점) (0) | 2016.07.07 |