PL/SQL (Procedural Language/Structed Query Language)
- 데이터베이스 응용 프로그램을 작성하는데 사용하는 오라클의 SQL 전용 언어
- 장점: 프로그램 개발의 모듈화 가능, 변수 선언 가능, 절차형 언어 사용, 에러처리, 이식성, 성능 향상 ...
- PL/SGQ 프로그램 종류
- Subprogram: Function (Return a Value), Procedure(Do action)
- 자동실행 program: Trigger
- 복합 프로그램: Package
Function
- 반드시 하나의 값을 리턴해야하는 경우 사용
create or replace PROCEDURE p_tax
(v_num in number,
v_tax out number)
IS
BEGIN
v_tax := v_num * 0.07;
END;
Procedure
- 리턴값이 여러 개이거나 0개일 경우
- in / out / in out 으로 파라미터 타입과 전달 방식 명시
-- procedure: return 값 없음 대신 out으로 표기
create or replace PROCEDURE p_tax
(v_num in number,
v_tax out number)
IS
BEGIN
v_tax := v_num * 0.07;
END;
Command로 Procedure, Function 실행하기
-- FUNCTION Command 실행하는 방법
VARIABLE a NUMBER;
EXECUTE :a := TAX(100);
PRINT a;
-- PROCEDURE Command 실행하는 방법
VARIABLE a NUMBER;
EXECUTE p_tax(100, :a);
PRINT a;
'Database' 카테고리의 다른 글
[PL/SQL] 커서 (CURSOR) (0) | 2019.09.16 |
---|---|
[PL/SQL] 기본 문법 - %TYPE, %ROWTYPE Attribute, Exception 처리 (0) | 2019.09.16 |
[Oracle] 조건 검색 - WHERE 절 (0) | 2019.09.10 |
[Oracle] ERROR: ORA-00937 (0) | 2019.09.10 |
[Oracle] 서브쿼리(Sub Query) (0) | 2019.09.09 |