PostgreSQL로 프로시저와 트리거 만들기

ynghyk·2022년 5월 24일
0

PostgreSQL

목록 보기
1/1

PL/pgSQL을 이용해 Stroed Procedure 만들기

CREATE FUNCTION function_name(param1 type, param2 type)
	RETURNS return_type AS
$$ BEGIN
-- code
END; $$
LANGUAGE language_name;
  • $$ 함수 정의의 시작과 끝을 알려주는 기호
  • PL/pgSQL 언오를 사용하므로 항상 plpgsql로 사용

Trigger Function(Stored Function) 만들기

CREATE OR REPLACE FUNCTION trigger_function()
returns trigger
AS $$ 
DECLARE --DECLARE 구분 뒤에 변수를 선언할 수 있음
BEGIN
INSERT INTO [TABLE NAME]
(a, b, c)
VALUES
(NEW.a, NEW.b, NEW.c);
RETURN NULL;
END; $$
LANGUAGE plpgsql;
  • OLD : 트리거 실행 이전 값, NEW : 트리거 실행 이후 값

Trigger 만들기

CREATE TRIGGER [TRIGGER NAME]
AFTER INSERT or UPDATE
ON [TABLE NAME] -- [TABLE NAME]테이블에서 insert/update시 trigger 실행
FOR EACH ROW -- insert/update가 실행된 모든 row에 실행
EXECUTE PROCEDURE trigger_function();
  • $$ 함수 정의의 시작과 끝을 알려주는 기호
  • PL/pgSQL 언오를 사용하므로 항상 plpgsql로 사용

0개의 댓글