내 함수에서 내가 01356666을 전달한 다음 BLAH를 반환하는 이유를 이해하려고 노력 중이다. 그 다음에 전달 된 다른 값은 null 값이다. 내 기대는 BLAH를 반환한다. SELECT INTO를 수행 한 후 str_mgrin_out을 재설정 한 이후에 전달 된 내용 중 하나입니다. 필자는 Oracle 10g에서 이것을 테스트 해 왔습니다.함수는 내가 기대하는 바를 반환하지 않는다.
CREATE OR REPLACE FUNCTION GET_MANAGERGIN2 (str_empgin_in IN varchar2)
RETURN varchar2
AS
str_mgrgin_out varchar2(10);
BEGIN
SELECT 'FOO' INTO str_mgrgin_out FROM dual WHERE str_empgin_in = '01356666';
str_mgrgin_out := 'BLAH';
RETURN str_mgrgin_out;
END GET_MANAGERGIN2;
/
-- Returns null but expecting BLAH
SELECT GET_MANAGERGIN2('00356666') FROM dual;
-- Returns BLAH
SELECT GET_MANAGERGIN2('01356666') FROM dual;
감사합니다. 이것은 내 전반적인 목표에 올바른 방향을 제시합니다. – Snipe656