2013-05-23 2 views
2

프로 시저 내에서 함수를 호출하여 프로 시저 내에서 사용할 수 있도록 값을 가져 오려면 어떻게해야합니까? 모든 아이디어 ?? 내 함수는 다음과 같습니다.이 함수는 최대 또는 최소 급여에서 급여를받는 직원의 ID 컬렉션을 반환하며,이 값을 프로 시저에서 사용하여 해당 직원의 급여를 최소 급여로 업데이트하겠습니까 ?? 수를 반환 my_funcplsql에서 프로 시저 내에서 함수를 호출하는 방법

+0

스토어드 프로 시저를 잘못 작성한 것이 아닌 UPDATE로 해결하십시오. "이 함수는 직원의 ID 컬렉션을 반환합니다"라고 말하면 SELECT 문에 의해 가장 잘 획득됩니다. –

답변

4
create or replace procedure P 
    a_variable_name number; 
begin 
    a_variable := a_function('a parameter'); 
end; 
/
0
declare 

procedure my_proc; 

기능은

begin 

my_proc; 

return 3; 

end my_func; 

프로 시저 my_proc 여기

begin 

dbms_output.put_line('22'); 

end my_proc; 

begin 

dbms_output.put_line(my_func); 

end; 
1

당신이 절차에서 함수를 호출하는 데 도움이되는 샘플 코드입니다.

create or replace FUNCTION ADD_TEN(P_IN VARCHAR2) RETURN VARCHAR2 
    AS 
    L_RESULT VARCHAR2(4000); 
    BEGIN 
    L_RESULT:=P_IN+10; 
    RETURN L_RESULT; 
    END; 



    create or replace PROCEDURE CALL_FUNCTON(P_IN VARCHAR2) 
     AS 
     L_FINAL_RESULT VARCHAR2(4000); 
     BEGIN 
     L_FINAL_RESULT:=ADD_TEN(P_IN); 
     DBMS_OUTPUT.PUT_LINE(L_FINAL_RESULT); 
     -- USE L_FINAL_RESULT IN YOUR BUSINESS LOGIC 
     END; 

EXECUTE CALL_FUNCTON(5); 
관련 문제