Skip to content

Procedure #
Find similar titles

Structured data

Category
Database

프로시저(Procedure) #

일정한 작업을 수행하는 SQL 문장의 집합으로 복잡한 트랙젝션을 수행하는 SQL을 구현할 때 주로 쓰이며 데이터 베이스에 저장하여 사용한다.

  • 프로시저는 절차적 SQL을 의미한다.
  • 프로시저는 SQL보다 더 강력한 구조의 언어로써 절차적 코딩법을 추가하여 SQL을 확장한 것이다.
  • 프로시저는 중첩될 수 있는 블록으로 구성된다.

프로시저 작성 문법 #

CREATE OR REPLACE PROCEDURE procedure_name (
    argument IN/OUT type, 
    argument IN/OUT type, 
    ...
)
IS
    variable_declaration (변수선언)
BEGIN
    [PL/SQL Block] 
    statements (문장)

    [EXCEPTION]
    statements (문장)
END
;
  • Create 첫문장의 ()안에 in, out 또는 in/out 변수를 선언한다.
  • 내부에서 사용할 변수는 IS 구문 다음에 선언한다.
  • IS 구문 이후 반드시 Begin과 End 구분 사이에 sql문을 작성한다.

프로시저 생성 예제 #

CREATE OR REPLACE PROCEDURE SP_insert_data (
    p_seq IN NUMBER
)
IS
     v_txt VARCHAR2 (100) : = 'Hello World!';
BEGIN
    UPDATE T_DATA
    SET    msg   = v_txt
         , regdt = SYSDATE
    WHERE  SEQ   = p_seq;

    COMMIT;

END SP_insert_data
;

프로시저 실행 문법 #

EXECUTE procedure_name(IN parameter);
또는
EXEC procedure_name(IN parameter);

프로시저 실행 예제 #

> EXECUTE SP_insert_data(103);
명령이 성공적으로 실행되었습니다.

프로시저 삭제 문법 #

DROP PROCEDURE procedure_name;

프로시저 삭제 예제 #

> DROP PROCEDURE SP_insert_data;
명령이 성공적으로 실행되었습니다.
0.0.1_20210630_7_v33