728x90
반응형
오늘은 뷰테이블 생성시 필요컬럼을 함수를 통해 추가하는 방법에 대해 정리하려고 한다.
이번에 프로젝트를 하면서 PNU코드에서 산/일반 구분을 추출하였는데, 일반은 1, 산은 2라는 코드만 있을 뿐
실제 지도의 라벨에 뿌려 줄 텍스트를 가지는 컬럼이 없었다.
그래서 저 1과 2라는 값을 통해 산/일반 텍스트를 리턴해주는 함수를 이용하여 컬럼을 추가해주었는데
블로그에 정리가 안되있는 것 같아 정리해본다.
get_user_name 함수 생성
CREATE OR REPLACE FUNCTION public.get_user_name(id character varying)
RETURNS text
LANGUAGE plpgsql
AS $function$
DECLARE
BEGIN
return (select user_name from jointable jt where jt.USER_ID = id);
END;
$function$
;
get_user_name 함수에서는 id를 인자로 받아서, jointable에 있는 id와 일치하는 user_name을 리턴해주는 간단한
함수이다.
뷰테이블 생성
CREATE OR REPLACE VIEW public.view_user_info
AS SELECT "user".requst_id,
"user".occrrnc_de,
"user".rqester_id,
get_user_name("user".rqester_id)::character varying AS user_name
FROM comtnweblog "user";
comtnweblog에 있는 rqester_id를 get_user_name함수의 인자로 보내서 리턴되는 값을 Alias를 통해
user_name이라는 컬럼명으로 지정한다. 이제 이 View테이블을 조회하면
이렇게 user_name이 제대로 들어간 것을 확인 할 수 있다.
728x90
반응형