안녕하세요. 펑션 관련해서 질문드립니다.
특정 두컬럼의 시간 차를 구하는 펑션 입니다.
질문의 요지는 begin 절 내에 선언된 변수를 begin절 내에서 사용하고 싶은데 어떻게 해야하나요?
begin절 중간쯔음 v_table 이라는 변수를 사용해서 테이블명을 구합니다.
그 구한 테이블명을 begin절 내의 from절에 사용하려고하는데.. 변수로 인식을 못합니다.
: 혹은 $ 등 여러가지 문자를 써보았지만 변수로 인식을 못합니다..
방법이 있을가요? 아니면 펑션 전체를 수정해야하는지..
DB 는 오라클입니다. 답변 부탁드립니다..
begin
v_prefix := case p_db_type
WHEN 0 then 'ora'
when 3 then 'pgs'
when 6 then 'msq'
when 7 then 'abase'
when 8 then 'tbr'
when 9 then 'mar'
when 10 then 'ifx'
when 11 then 'mys'
else ''
end;
v_table := v_prefix || '_daemon_alive';
select sysdate + (server_time - inst_time) into v_output
from v_table
where inst_no=p_inst_no;
RETURN v_output;
--RETURN v_output;
END;
/