oracle - 错误:FUNCTION EMP_SAL_RANKING
问题描述
我不知道为什么这个函数不起作用,我实际上想制作一个函数,根据同一工作类别中员工的当前最低和最高工资计算员工的工资排名
CREATE OR REPLACE FUNCTION emp_sal_ranking
(empid NUMBER)
RETURN NUMBER IS
minsal emp.sal%type;
maxsal emp.sal%type;
v_jobid emp.job%type;
v_sal emp.sal%type;
BEGIN
select job,sal,INTO v_jobid,V_sal from emp
WHERE empno = empid;
select MIN(sal),MAX(sal) INTO minsal,maxsal
from emp
where job=V_jobid;
return ((V_sal - minsal)/(maxsal-minsal));
END emp_sal_ranking;
解决方案
“不工作”很难调试。这是什么意思?
如果这是你的另一个错别字(真的,你应该更加注意你在做什么),然后删除多余的逗号。之后,函数返回结果。我不知道这是否是您想要的,但是-它“有效”。
SQL> CREATE OR REPLACE FUNCTION emp_sal_ranking(
2 empid NUMBER
3 )RETURN NUMBER IS
4
5 minsal emp.sal%TYPE;
6 maxsal emp.sal%TYPE;
7 v_jobid emp.job%TYPE;
8 v_sal emp.sal%TYPE;
9 BEGIN
10 SELECT job,
11 sal --> remove comma
12 into v_jobid,
13 v_sal
14 FROM emp
15 WHERE empno = empid;
16
17 SELECT MIN(sal),
18 MAX(sal)
19 INTO
20 minsal,
21 maxsal
22 FROM emp
23 WHERE job = v_jobid;
24
25 return((v_sal - minsal)/(maxsal - minsal));
26 END emp_sal_ranking;
27 /
Function created.
SQL> select emp_sal_ranking(7499) from dual;
EMP_SAL_RANKING(7499)
---------------------
1
SQL>
推荐阅读
- c# - Lock 和 Mutex 显示不同的结果
- java - ExecutorService 和 Future 正在阻塞主线程
- ios - 使用 Audiokit v5 实现麦克风分析
- ios - UIBarButtonItem 隐藏元素和它占用的空间
- c# - Canvas ActualWidth 和 ActualHeight 以 MVVM 方式传入 ViewModel
- r - R - 查找第 2 组(对)的集群
- xamarin.forms - Xamarin.Forms 选中时禁用 Shell TabBar 字体缩放
- php - Laravel Eloquent 用于数据透视表,一个表有 2 个外键,另一个表有 1 个外键
- node.js - 如何使用 ejs 从 mongoDB 集合中提取文档,以便每个文档在浏览器上出现一次?
- python - 使用 asyncio.run() 时关闭 Asyncio 事件循环