Procedure, Trigger

프로시저, 트리거 차이

트리거 : 지정된 이벤트가 발생할 때 자동으로 실행(EX : 테이블 생성, DB에 값 추가 등), 프로시저 내에서는 호출할 수 없다, 매개 변수를 전달할 수 없다. 실행 후 값을 반환하지 않는다.

프로시저 : 필요할 때마다 실행할 수 있다(저는 API에서 호출 후 작동하도록 만들었습니다.), 트리거 내부, 혹은 다른 프로시저에서 호출 할 수 있다(재귀함수처럼), 매개변수를 전달할 수 있습니다. value(리턴)를 리턴할 수 있다.

프로시저 예시

현재 사용중인 postgresql은 버전상 프로시저 대신 function으로 등록

CREATE or replace FUNCTION test(
	매개변수 A, 매개변수 B, ....
    )
    A varchar,
    B integer, 
    
    RETURN void as $$ -> 리턴값이 없음
    
    DECLARE  -> 함수 내부에서 사용될 변수들 선언
    v_row record;
    v-data record;
    
    BEGIN
    ....
    END
    
    $$
    LANGUAGE plpgsql VOLATILE;
    
  • 위와 같은 형식으로 프로시저를 등록하여 사용하면 된다.

좋은 웹페이지 즐겨찾기