[PostgreSQL] 함수: 변수와 상수

함수에서는 일반적인 명령형 언어들과 마찬가지로 변수나 상수 등을 정의해서 사용할 수 있다.



변수

변수를 정의하려면, begin-end 영역 위에 declare 영역 열어놓고 그 위에다가 차곡차곡 쌓아두면 된다.

변수명 타입 := 초기값;

의 형태를 가진다.

그래서 대충 이런식으로 써볼 수 있다.

그리고 코드다.

CREATE FUNCTION FOO() RETURNS int8
AS
$$
DECLARE
	i int8 := 0;
BEGIN
	RETURN i;
END;
$$
LANGUAGE PLPGSQL;

그리고 변수니까 당연히 변경도 가능하다.
그냥 =로 값 대입하면 바뀐다.



상수

그런데 값을 한번 정해두고 바뀌지 말아야할 항목이 필요할 수도 있다.

그럴 때는 변수 타입 왼쪽에 CONSTANT 키워드를 끼워넣으면 된다.

그럼 값 변경 시도 시에 오류를 뿜어낸다.


참조
http://www.gisdeveloper.co.kr/?p=4573