在oracle查询中调用函数

时间:2015-07-03 12:57:09

标签: sql oracle plsql

我有一个PL / SQL function FN_CALC(emp_sal),它返回一个Value。 PL / SQL函数正常工作。 使用函数的返回值我需要更新我的oracle查询(即当函数返回1000一个条件或其他条件时)。

根据Function的输出我需要更新查询。 以下是我的查询。

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

请帮助解决。这取决于PL / SQL函数的输出,udpate语句应该有效。

此致 普拉卡什

1 个答案:

答案 0 :(得分:1)

试试这个

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