프로시저(Procedure)란?

  특정 작업을 수행 하는, 이름이 있는 PL/SQL BLOCK 이다.

  매개 변수를 받을 수 있고, 반복적으로 사용 할 수 있는 BLOCK 이다.

  보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL BLOCK을 데이터베이스에 저장하기 위해 생성 한다.

프로시저 문번

CREATE OR REPLACE procedure name
   IN argument
   OUT argument
   IN OUT argument

IS

   [변수의 선언]

BEGIN  --> 필수

   [PL/SQL Block]
   -- SQL문장, PL/SQL제어 문장

   [EXCEPTION]  --> 선택
  -- error가 발생할 때 수행하는 문장

END--> 필수
   
  • - CREATE OR REPLACE 구문을 사용하여 생성 한다.
  • - IS 로 PL/SQL의 블록을 시작 한다.
  • - LOCAL 변수는 ISBEGIN 사이에 선언 한다.

프로시저 작성 예제
-- 프로시저의 이름은 update_sal이다
-- update_sal 프로시저는 사번을 입력받아 급여를 인상 한다.
-- 프로시저를 끝마칠 때에는 항상 "/"를 지정 한다.

SQL>
CREATE OR REPLACE PROCEDURE update_sal
    
/* IN  Parameter */
     (v_empno   
IN    NUMBER)
        
    
IS

    
BEGIN

       UPDATE emp
       SET sal = sal  * 1.1
       WHERE empno = v_empno;

       COMMIT;

    
END update_sal;
     /    

프로시저 실행 예제
EXECUTE 문을 이용해 프로시저를 실행 한다.
SQL> EXECUTE update_sal(7369);
PL/SQL 처리가 정상적으로 완료되었습니다.

-- 7369번 사원의 급여가 10% 인상 되었는지 확인해 보기 바란다.


출처 : 오라클클럽 프로시저(Procedure) 강좌
http://www.oracleclub.com/oraclelecture.action?lectureType=PLSQL

'프로그램 > DB' 카테고리의 다른 글

Oracle Function - 01  (0) 2012.03.11
[펌] 명시적 커서  (0) 2012.01.30
[펌] 함수(Function)  (0) 2012.01.30
[펌] 특정 컬럼명을 사용하는 테이블 찾기 (Oracle 10g+)  (0) 2011.09.29
oracle 숫자함수(mod, round, width_bucket)  (0) 2011.07.11

+ Recent posts