mun dev

[PL SQL] 프로시저(PROCEDURE) 사용법 본문

DB/Oracle

[PL SQL] 프로시저(PROCEDURE) 사용법

mndev 2024. 2. 27. 15:44

프로시저(PROCEDURE)란?

  • 특정 작업을 수행하는, 이름이 있는 PL/SQL BLOCK이다.
  • 매개 변수를 받을 수 있고, 반복적으로 사용할 수 있는 BLOCK이다.
  • 보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL SQL BLOCK을 데이터베이스에 저장하기 위해 생성한다.

 

프로시저 문법

  • create or replace 구문을 사용하여 생성
  • is로 PL/SQL의 블록을 시작
  • local변수는 is와 begin 사이에 선언
create or replace procedure name
 in argument
 out argument
 in out argument

is
 [변수 선언]

begin -- 필수

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

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

end; -- 필수

 

프로시저 작성

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

create or replace procedure update_sal
(v_empno in number)

is

begin

update emp set sal = sal * 1.1 where empno = v_empno;
commit;

end update_sal;

 

프로시저 실행 예제

  • EXECUTE문을 이용해 프로시저를 실행
execute update_sal(7639);

 

Reference.
http://www.gurubee.net/lecture/1041