-2

我正在尝试编写一个PL/SQL函数来返回第 N 个最高薪水。我不断收到下面的运行时错误。错误在于“返回结果;” 线

PL/SQL:ORA-00933:SQL 命令未正确结束 ORA-06575:包或函数 GETNTHHIGHESTSALARY 处于无效状态

代码:

CREATE FUNCTION getNthHighestSalary(N IN NUMBER) RETURN NUMBER IS result NUMBER;

BEGIN

  select Salary into result
  from 
    (select dense_rank() over (order by salary desc) as Ranks, ID, Salary
     from Employee) a
     where a.Ranks = N

RETURN result;
END;

主要代码快照

4

1 回答 1

2

您缺少分号where a.Ranks = N。它应该是where a.Ranks = N;

于 2019-02-16T17:56:12.270 回答