안녕하세요?
오랜만에 안 풀리는 문제가 있어 문의 드립니다.
함수 구현에서 a = 'm3' 일 경우
a의 값이 다른 테이블의 칼럼명이 될 경우 쿼리가 가능하게 하는 방법이 있나요?
select (select 'm3') from t1;
--t1 테이블에 m3란 칼럼의 값을 구하고 싶은데요.
어떤 함수나 칼럼으로 인식시킬 방법이 없을까요?
일반 쿼리로는 불가능 하고요, 내장 프로시저 언어를 이용한 동적 쿼리를 사용하는 함수를 하나 만들어야 할 것 같네요.
답변 감사합니다.
plpgsql 내장프로시저언어로 작업중이나 값을 열이름으로 인식시키는게 잘 안돼서 그럽니다.
그냥 문자열로 인식을 합니다.
열이름으로 강제 처리할 방법이 없을까요?
execute 'select ' || 변수명 || ' from table'
이런식이 되겠죠. 이것을 동적 쿼리라고 합니다.
http://postgresql.kr/docs/9.1/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
말씀하신 문서를 참조해서 실습을 해보니 되네요.
또, 한가지 배웠습니다. 정말 감사합니다. 복 받으실 겁니다. ^^