Oracle DB로 아주 간단한 프로시져 만들기

아주 간단한 프로시져를 만들어보자. 프로시져란 무엇인가?
- 함수와 다른 점이 있다면 return하는 값이 있는지 없는지 차이이다.
- 프로시져는 return 값이 없지만, 함수는 return하는 값이 있다.

다음은 프로시져에 대한 간단한 예제이다
빨간색으로 된 부분은 주석이고 복사/붙여넣기 할 때 지우면 된다.

기본 골격은 아래와 같은데, 나중에 보면 이해가 안될 수 있으므로 아래에 예제를 첨부했다.
CREATE OR REPLACE PROCEDURE [procedure_name(variable_name IN/OUT/IN OUT datatype)
IS
BEGIN
  your_logic
END procedure;


CREATE OR REPLACE PROCEDURE change_pro(i_id IN varchar2)
change_pro는 프로시져 이름이다.
i_id IN varchar2 는 varchar2 데이터 타입의 i_id 변수가 해당 프로시져의 input으로 사용 된다는 뜻이다. 여기서 i_id는 프로시져가 받는 인자에게 붙여주는 이름이다. (자바의 메소드 인자처럼)
IS
BEGIN BEGIN부터 실제 로직 처리가 이루어진다.
    UPDATE TEST TEST 테이블을 업데이트 한다. (당연히 TEST 테이블은 미리 존재해야함)
    SET AGE = 100 AGE라는 칼럼의 값을 100으로 SET한다. (당연히 AGE 칼럼은 미리 존재해야 함)
    WHERE USERID = i_id;  USERID 칼럼이 i_id 변수에 담긴 값과 같은 경우 해당 로직이 처리 된다. 여기서 i_id는 아까 내가 입력한 파라미터값을 담고있는 변수다.
END change_pro;

댓글

이 블로그의 인기 게시물

로컬 Tomcat 서버 실행속도 개선

2019.05.23 - SQLAlchemy 의 객체 상태 관리 (expire, refresh, flush, commit) 에 관한 이해

2020.02.17 Python의 multiprocessing 중 Pool.map(), chunksize에 관한 내용