[ 서브프로그램의 함수 사용 ]


  
  서브프로그램
    - 프로시저
    - 함수
    
    [ 함수와 프로시저의 차이? ]

    - 프로시저는 in, out, in out모드를 사용해서 값을 반환하기도 하고,
      반환하지 않고 종료 할 수도 있다.
      VS
    - 함수는 어떤 작업을 수행한 후에, 결과를 반환한다.

    
    [ 함수의 구문 형식 ]
    create (or replace) function 함수명
    파라미터1 파라미터타입,
    파라미터2 파라미터타입,...
    return datatype
    is
    PL/SQL 블럭;

EX)





 [ 서브프로그램의 이해, 프로시저 ]


  : PL/SQL의 서브프로그램이란?
    -> <PL/SQL의 익명 블럭의 특징>
      : . 이름이 없는 PL/SQL 블럭
        . 저장해서 사용되지 않는다.
        . 사용할 때마다 컴파일이 필요하다.
        . 다른 응용프로그램에서 사용할 수 없다.
        . 값을 반환할 수 없다.
        . 매개변수를 사용할 수 없다.
        
    -> <서브프로그램의 특징>
      : . 이름이 있는 PL/SQL 블럭
        . DB에 저장해 반복적으로 사용할 수 있다.
        . 최초 실행될 때 한번만 컴파일 한다.
        . 다른 응용프로그램에서 사용할 수 있다.
        . 함수일 경우 값을 리턴(반환)할 수 있다.
        . 매개변수를 사용할 수 있다.
        
      ** "서브 프로그램"은 내장된 함수프로시저가 있다.
        - 프로시저
        - 함수
      ---------------------------------------------------------------------
      
      - 프로시저란??
        : 특정 처리를 위한 서브 프로그램의 한 유형이다.
        : 단독으로 실행 가능하며, 다른 응용 프로그램에서도 호출되어 실행 가능하다.
        
        - 프로시저 구문 형식)
          create procedure 프로시저명
            파라미터1(in,out,in out) 데이터타입, -- default는 in모드
              -- out : 값을 반환하겠다, in : 서브프로그램 내에 값 전달 in out : 서브프로그램 내에도 전달되고, 외부 응용프로그램에도 반환하기도 함
            파라미터2(in,out,in out) 데이터타입
          is
            변수 선언부;
          begin
            프로시저 본문 처리부;
          exception
            예외처리부;
          end;

EX)


[ 외부 변수 선언 및 전달과 out 타입을 통한 결과값 받기 예제 ]


+ Recent posts