我正在尝试创建一个 pl/sql 函数来计算员工表中所有工资的总和并返回它。我正在使用 sum 函数,但出现错误
我尝试将 sql 语句更改为此解决方案提供堆栈溢出
SELECT (select sum(salary) from employee) INTO total_sum FROM dual;
下面是一个总和语句工作
SQL> select sum(salary) from employee;
SUM(SALARY)
-----------
281000
这是 Pl/SQL 函数
CREATE OR REPLACE FUNCTION total_salary(dep_number IN NUMBER)
RETURN NUMBER
IS
total_sum NUMBER;
BEGIN
SELECT (select total_sum sum(salary) from employee) INTO total_sum FROM dual;
return total_sum;
END total_salary;
这是错误警告:使用编译错误创建的函数。
SQL> show errors
Errors for FUNCTION TOTAL_SALARY:
LINE/COL ERROR
-------- -----------------------------------------------------------------
6/1 PL/SQL: SQL Statement ignored
6/29 PL/SQL: ORA-00923: FROM keyword not found where expected
我希望函数返回工资的总和
试试这个:
CREATE OR REPLACE FUNCTION total_salary(dep_number IN NUMBER)
RETURN NUMBER
IS total_sum NUMBER;
BEGIN
SELECT SUM(salary)
INTO total_number
FROM employee
WHERE deptid = dep_number;
RETURN(total_sum);
END;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句