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;

 

+ Recent posts