Database

PostgreSQL 함수(Function)

hjkang

PostgreSQL에서는 함수(Function)을 사용할 수 있다.

 

 

함수 구조

CREATE [OR REPLACE] FUNCTION function_name (arguments)
RETURNS return_datatype AS $$
DECLARE
    -- 변수 선언
BEGIN
    -- 함수 로직
END;
$$ LANGUAGE plpgsql;

 

키워드 설명
CREATE [OR REPLACE] FUNCTION 함수 생성 / [ON REPLACE]는 기존 함수 업데이트 허락 여부
function_name 함수명
arguments 함수 입력 인수
RETURNS return_datatype 함수 리턴 데이터 타입
DECLARE 함수에서 사용할 변수 선언
BEGIN, END 함수 로직
$$ LANGUAGE plpgsql 함수의 언어 지정

 

 

사용 예시

- name 인자를 넣어서 호출을 하면 hello, {name}!이라는 문자열 반환

CREATE FUNCTION hello_world(name TEXT)
RETURNS TEXT AS $$
DECLARE
    greeting TEXT;
BEGIN
    greeting := 'Hello, ' || name || '!';
    RETURN greeting;
END;
$$ LANGUAGE plpgsql;

 

- test_table의 행 개수 구하는 함수

CREATE FUNCTION total()
RETURNS integer AS $total$
DECLARE
    total integer;
BEGIN
    select count(*) total from test_table
    RETURN total;
END;
$$ LANGUAGE plpgsql;

 

 


참고

- https://hyunalee.tistory.com/15

'Database' 카테고리의 다른 글

PostgreSQL 인덱스를 타지 않는 이유  (0) 2023.05.11
PostgreSQL 문자열 함수  (0) 2023.05.11
PostgreSQL GIN Index  (0) 2023.01.30
PostgreSQL 테이블 소유자 변경  (0) 2023.01.11
PostgreSQL Insert 할 때 Seq 조정  (0) 2023.01.04