[PostgreSQL] 함수: 변수와 상수
함수에서는 일반적인 명령형 언어들과 마찬가지로 변수나 상수 등을 정의해서 사용할 수 있다.
변수
변수를 정의하려면, begin-end 영역 위에 declare 영역 열어놓고 그 위에다가 차곡차곡 쌓아두면 된다.
변수명 타입 := 초기값;
의 형태를 가진다.
그래서 대충 이런식으로 써볼 수 있다.


그리고 코드다.
CREATE FUNCTION FOO() RETURNS int8
AS
$$
DECLARE
i int8 := 0;
BEGIN
RETURN i;
END;
$$
LANGUAGE PLPGSQL;
그리고 변수니까 당연히 변경도 가능하다.
그냥 =로 값 대입하면 바뀐다.


상수
그런데 값을 한번 정해두고 바뀌지 말아야할 항목이 필요할 수도 있다.
그럴 때는 변수 타입 왼쪽에 CONSTANT 키워드를 끼워넣으면 된다.
그럼 값 변경 시도 시에 오류를 뿜어낸다.