기본 문법
CREATE FUNCTION function_name (parameters)
RETURNS return_type AS
$$
BEGIN
-- 함수 본문
END;
$$ LANGUAGE plpgsql;
예시
CREATE FUNCTION add_numbers(a INT, b INT)
RETURNS INT AS
$$
BEGIN
RETURN a + b;
END;
$$ LANGUAGE plpgsql;
함수 호출
SELECT add_numbers(5, 10); -- 결과: 15
트랜잭션 함수: 트랜잭션에 영향을 미치는 함수.
집합 함수: 결과를 집합으로 반환.
집합 함수 예시:
CREATE FUNCTION get_employees() RETURNS SETOF employees AS
$$
BEGIN
RETURN QUERY SELECT * FROM employees;
END;
$$ LANGUAGE plpgsql;
기본 문법
CREATE TRIGGER trigger_name
{ BEFORE | AFTER } { INSERT | UPDATE | DELETE }
ON table_name
FOR EACH ROW
EXECUTE FUNCTION function_name();