CREATE [OR REPLACE] PROCEDURE 프로시저명 [(매개변수 IN 데이터타입 , 매개변수 OUT 데이터타입 , 매개변수 INOUT 데이터타입 )] IS [주요 변수 선언;] BEGIN -- 실행구문; ... [EXCEPTION -- 예외 처리 구문;] END;
아래는 PROC_TEST라는 프로시저를 생성하는 예제입니다. 이 프로시저를 호출하면, TEST_TABLE이라는 테이블에서 col1, col2를 select합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
CREATE OR REPLACE PROCEDURE PROC_TEST ( pResult out SYS_REFCURSOR ) IS
BEGIN OPEN pResult FOR SELECT col1, col2 FROM TEST_TABLE EXCEPTION WHEN NO_DATA_FOUND THEN NULL;
WHEN OTHERS THEN RAISE; END;
오라클 프로시저 수정
오라클 프로시저 수정을 원한다면, 맨앞에 CREATE OR REPLACE 를 입력하기만 하면 됩니다. 즉, 앞선 예제에서 PROC_TEST라는 프로시저를 생성한 후, 아래 명령어를 써주면 col1,col2 컬럼만 선택하던 프로시저가 col1,col2,col3을 선택하는 프로시저로 변경됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
CREATE OR REPLACE PROCEDURE PROC_TEST ( pResult out SYS_REFCURSOR ) IS
BEGIN OPEN pResult FOR SELECT col1, col2, col3 FROM TEST_TABLE EXCEPTION WHEN NO_DATA_FOUND THEN NULL;