반응형
SMALL
t_table 에 있는 column 을 FUNCTION을 이용해서 선택하고 싶을 시
사용할 수 있는 EXECUTE format
CREATE OR REPLACE FUNCTION FunctionName (
i_id character varying
, i_row_seq integer
, i_column character varying
) RETURNS refcursor AS
$BODY$
DECLARE
v_ref_cur_data refcursor := 'v_ref_cur_data';
v_id character varying := i_id;
v_row_seq integer := i_row_seq;
v_column character varying := i_column;
BEGIN
OPEN v_ref_cur_data FOR
EXECUTE format(
'SELECT ' || v_column || '
FROM t_table
WHERE id = ''' || v_id || ''' AND row_seq = ' || v_row_seq || '
'
);
RETURN v_ref_cur_data;
END;
$BODY$
LANGUAGE plpgsql;
이걸 실행하면
SELEECT column FROM t_table WHERE id = 'i_id' AND row_seq = i_row_seq
이렇게 실행 한것과 같은 결과를 확인 할 수 있습니다.
반응형
'Back-End > PostgreSQL' 카테고리의 다른 글
[ PostgreSQL ] Upsert 정리 (0) | 2021.07.28 |
---|---|
[PostgreSQL] 문자열 마스킹 쿼리 (0) | 2021.06.08 |
[ PostgreSQL ] 컬럼 데이터 합치기 (0) | 2021.02.03 |
[ PostgreSQL ] 데이터 분리 (regexp_split_to_table) (0) | 2020.12.17 |
[ PostgreSQL ] 문자열 분리 (split_part), 문자열 합치기(concat) (0) | 2020.12.15 |