2015-07-03 39 views
1

我有一個PL/SQL function FN_CALC(emp_sal),它返回一個值。 PL/SQL函數運行正常。 使用函數的返回值我需要更新我的oracle查詢(即,當函數返回1000條件時另一個條件)。在oracle查詢中調用函數

根據函數的輸出我需要更新查詢。 以下是我的查詢。

update EMPLOYEE_MASTER 
set EMP_GRADE = case 
    when EMP_GRADE < (FN_CALC(emp_sal)) 
    then EMP_GRADE ='A' 
    end; 

請幫助解決。這取決於PL/SQL函數的輸出udpate語句應該工作。

問候 普拉卡什

+0

您可以從SQL調用查詢功能如下:從雙選擇函數名(PARAM);您可以執行我發佈的更新聲明作爲答案,並接受並投票它,如果工作正常,否則,發佈結果/錯誤,以便其明確建議下一步 – JavaHopper

+0

謝謝...它幫助了我很多 –

+0

upvote pls,貪婪聲譽:) – JavaHopper

回答

1

試試這個

UPDATE employee_master 
    SET emp_grade = (
    CASE 
     WHEN (emp_grade < (SELECT FN_CALC(emp_sal) FROM DUAL)) 
     THEN 'A' 
     ELSE emp_grade 
    END);