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;
참고
'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 |