警告:在 PL/SQL 中创建的函数存在编译错误

问题描述 投票:0回答:1
CREATE OR REPLACE FUNCTION TOTALSALARY
RETURN NUMBER
IS 
TOTAL_SAL  NUMBER := 0;

BEGIN
  SELECT NVL(SUM(SALARY),0) INTO TOTAL_SAL FROM EMPLOYEE
  RETURN TOTAL_SAL
END TOTALSALARY;
/

问题来了

编写一个 PL/SQL 函数,返回所有员工的总工资。

功能要求:

函数名称:TOTALSALARY

员工:

Column name Data type   Constraints
EMP_ID  NUMBER(5)   PK
FIRST_NAME  VARCHAR2(25)    NOT NULL
LAST_NAME   VARCHAR2(25)     
DEPT    VARCHAR2(25)
SALARY                  NUMBER
oracle function plsql
1个回答
0
投票

您错过了 SELECT 和 RETURN 语句末尾的分号 (;)。 尝试这样:

CREATE OR REPLACE FUNCTION TOTALSALARY
RETURN NUMBER
IS 
TOTAL_SAL  NUMBER := 0;

BEGIN
  SELECT NVL(SUM(SALARY),0) INTO TOTAL_SAL FROM EMPLOYEE;
  RETURN TOTAL_SAL;
END TOTALSALARY;
/
© www.soinside.com 2019 - 2024. All rights reserved.