* 탄생 배경
SQL 비 절차적 언어라 간단히 작성된 문장을 입력함으로서 원하는 결과를 쉽게 얻지만, 절차적 언어만이 가진 기법 사용 불가능(조건에 따라 처리 달리하기, 반복적으로 여러 개 문장 실행 반복하기 등
* PL/SQL 구조
1) 선언부 - 변수나 상수 선언
스칼라(SCALAR) - 선언부에 사용하는 변수
REFERENCES 변수 제공 - %TYPE
(ex) vdeptno emp.deptno%TYPE;
%ROWTYPE
(ex) vemp emp%ROWTYPE;
2) 실행부 - 제어문, 반복문, 함수 정의 등 logic 기술
변수에 값 할당하기 :=
(ex) vdname := 'ACCOUNT'
PROMPT에서 값 입력 받기
(ex) ACCEPT 변수명 PROMPT '입력하고자 하는 메시지'
ACCEPT PDAN PROMPT → DECLARE
VDAN NUMBER(2) := &PDAN;
PL/SQL 테이블과 레코드 - 변수 타입을 사용자가 지정
테이블(column)
TYPE type_name IS TABLE OF
table_name.column_name%TYPE
INDEX BY BINARY_INTEGER;
레코드(row)
TYPE record_name IS RECORD
( filed_name1 field_type
. . .
field_nameN field_type);
3) 예외처리 - 예외 발생 시 해결
(SET SERVEROUTPUT ON으로 설정 후 dbms_output으로 실행 결과 보기)
댓글 없음:
댓글 쓰기