Oracle创建一个函数, 代码中是哪里出错了?

多云转大雨 2014-04-21 11:18:23
代码如下:

CREATE OR REPLACE FUNCTION FUN_GET_RAISED_SALARY(p_empno emp.empno%TYPE)
RETURN NUMBER;
IS
v_job emp.job%TYPE;
v_sal emp.sal%TYPE;
v_salaryratio NUMBER(10,2);
BEGIN
SELECT job, sal INTO v_job, v_sal FROM emp WHERE empno = p_empno;

CASE v_job
WHEN 'CLERK' THEN
v_salaryratio := 1.09;
WHEN 'SALESMAN' THEN
v_salaryratio := 1.11;
WHEN 'MANAGER' THEN
v_salaryratio := 1.18;
ELSE
v_salaryratio := 1;
END CASE;

IF v_salaryratio <> 1
THEN
RETURN ROUND(v_sal * v_salaryratio, 2);
ELSE
RETURN v_sal;
END IF;

EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 0;
END FUN_GET_RAISED_SALARY;


在PL/SQL里面运行, 发现函数的视图里面一直有个红叉叉, 但是仔细查看了一下没发现是哪里出了问题

希望大神们指点一下, 谢谢了
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
多云转大雨 2014-04-21
  • 打赏
  • 举报
回复
引用 1 楼 vsxiaomage 的回复:
下次遇到这样的错误,你可以通过点击这个函数右键,选择编辑,在运行就会提示错误在哪。
原来是这么个错误, 刚开始学习PL/SQL编程, 看来还是需要注意很多小的细节 受教了,谢谢楼上的
gangma2 2014-04-21
  • 打赏
  • 举报
回复
下次遇到这样的错误,你可以通过点击这个函数右键,选择编辑,在运行就会提示错误在哪。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧