【发布时间】:2019-05-18 13:15:06
【问题描述】:
CREATE TABLE cursor_table(
emp_id NUMBER(10) PRIMARY KEY,
emp_name VARCHAR2(30),
emp_salary NUMBER(5)
);
INSERT INTO cursor_table VALUES(101,'addeesh',25000);
INSERT INTO cursor_table VALUES(102,'arunkumar',28000);
INSERT INTO cursor_table VALUES(103,'ashokkumar',35000);
INSERT INTO cursor_table VALUES(104,'durairaj',22000);
CREATE OR REPLACE FUNCTION high_payed_emp
RETURN NUMBER
IS
high_payed_emp_id NUMBER(10):=0;
DECLARE max_emp_salary = MAX(emp_salary);
BEGIN
SELECT emp_id INTO high_payed_emp_id
FROM cursor_table
WHERE emp_salary = max_emp_salary;
RETURN high_payed_emp_id;
END;
我需要创建一个函数来查找薪酬最高的员工。
错误消息:遇到下列情况之一时遇到符号“DECLARE”:begin function pragma procedure subtype type current cursor delete exists prior
【问题讨论】:
-
如果两个(或更多)员工的最高薪水相同,你想返回什么?
标签: sql database oracle function plsql