Database
[데이터베이스] PL/SQL
vluevy
2021. 8. 21. 18:02
728x90
반응형
PL/SQL
- PL/SQL 은 Procedural Language extensions to SQL 로 프로그래밍언어의 특징을 가지는 SQL의 확장이며, 데이터 조작과 질의 문장은 PL/SQL의 절차적 코드 안에 포함된다.
- 주로 자료 내부에서 SQL 명령문만으로는 처리하기 복잡한 자료의 저장이나 프로시저와 트리거 등을 작성하는데 사용된다.
단위
- PL/SQL 익명블록
- 함수
- 프로시저
- 패키지
패키지 명세,
패키지 바디 - 트리거
자료형
- 스칼라 자료형
문자 자료형 : VARVHAR2, CHAR, LONG, LOB
숫자 자료형 : NUMBER, PLS_INTEGER, BINARY_DOUBLE
날짜, 시간 : DATE, TIMESTAMP
BOOLEAN - RECORD 유형
레코드는 C,C++,JAVA 의 구조체 유형과 비슷, 다양한 데이터 타입의 값을 저장할 수 있는 복합 변수
TYPE type_name IS RECORD
(필드 선언[,필드 선언]...);
-- 필드선언
필드이름 데이터타입 [[NOT NULL] {:= | DEFAULT} expression]
블록 구조
DECLARE
변수선언;
BEGIN
실행구문;
[EXCEPTION]
END;
/
한 문장이 종료할 때마다 세미콜론 넣기
END뒤에 세미콜론
/로 행이 종결
속성
- %TYPE
이전에 선언된 변수,필드,레코드,중첩 테이블 또는 데이터베이스 칼럼과 동일한 형식으로 선언 - %ROWTYPE
테이블 또는 뷰의 행을 참조하는 레코드를 선언한다
SELECT문
PL/SQL 의 SELECT문에서는 INTO 절이 필요함
나머지 INSERT, UPDATEM DELETE는 기존과 유사함
제어구조
-- 조건제어 IF문
IF 조건 THEN
구문;
ELSIF 조건 THEN
구문;
ELSE
구문;
END IF;
-- 조건제어 CASE문
CASE expr
WHEN comparison_expr1 THEN statement_1;
WHEN comparison_expr2 THEN statement_2;
:
ELSE statement_n;
END CASE;
-- 반복제어 LOOP문
LOOP
statements;
CONTINUE WHEN condition;
[EXIT WHEN condition;]
statements;
END LOOP;
반응형