> Function에 관한 기초나 개념이 없어서여...
> 이런건 왜 만드는지...
> CREATE OR REPLACE
> function get_f_ttlecode(fnc_sysclas varchar2,fnc_ttlecode varchar2)
> return varchar2 is
> fnc_ttledesc varchar2(30);
> begin
> select ttle_desc
> into fnc_ttledesc
> from f_ttlecode
> where sys_clas = fnc_sysclas
> and ttle_code = fnc_ttlecode;
> return(fnc_ttledesc);
> exception
> when no_data_found then
> fnc_ttledesc := ' ';
> return(fnc_ttledesc);
> end;
> /
>
> 아래와 같은 error가 납니다.
> LINE/COL ERROR
> -------- -------------------------------------------------------------
> ----
> 5/12 PL/SQL: SQL Statement ignored
> 7/18 PLS-00201: identifier 'F_TTLECODE' must be declared
> 도와 주세여...
> 좋은 하루 되시구여...
1) 먼저 f_ttlecode 테이블이 존재하는지 먼저 체크 하시고
2) function get_f_ttlecode(fnc_sysclas varchar2,fnc_ttlecode varchar2)
에서 fnc_sysclas, fnc_tttlecode 의 값 전달자의 형식이 input 인지 output 인지를 표기를 하여야 함
input 이면 'in', output 이면 'out', input, output 이면 'in out'
으로 표기
다시 재 작성하면
CREATE OR REPLACE FUNCTION get_f_ttlecode(fnc_sysclas IN varchar2 )
RETURN VARCHAR2 IS fnc_ttledesc VARCHAR(30) ;
BEGIN
BEGIN
select ttle_desc
into fnc_ttledesc
from f_ttlecode
where sys_clas = fnc_sysclas
and ttle_code = fnc_ttlecode;
EXCEPTION
WHEN NO_DATA_FOUND THEN
fnc_ttledesc := ' ';
END ;
return fnc_ttledesc ;
end get_f_ttlecode;
하시면 됩니다.
|