less than 1 minute read

❤️ Postgresql 기준으로 작성된 예시입니다.

Create Function

CREATE OR REPLACE FUNCTION {function_name}({insert_variable} type)
RETURN TABLE({return_variable} type, {return_variable} type)
LANGUAGE plpgsql
as $function$
declare <변수 선언> <type>
BEGIN 
SELECT <col> into <변수 선언>
    FROM TABLE;
RETURN <리턴할 > --선언 변수 리턴 가능
    -- RETURN QUERY(SELECT ....WHERE col = $1);
END;

들어가는 메서드, 인자들 많지만 요약하여 적으면

  • CREATE (OR REPLACE) : CREATE OR REPLACE 까지 입력할 경우 함수를 덮어쓰기가 가능하다. CREATE일 경우 already exists.
  • RETURN : 여러개 리턴일 경우 TABLE 형식으로, 그렇지 않다면 {variable} type
  • LANGUAGE : plpgsql 언어임을 명시
  • BEGIN : 코드 실행 부분
  • $1, $2.. : insert_variable 순서