Create or replace function get_empsalary_by dept(emp_dept varchar(20))
return number is
Total_salary number(10,2);
emp_dept varchar(20);
emp_salary number(10,2);
begin
select empdept, sum(empsalary) into emp_dept,emp_salary from employe where empdept=emp_dept;
total_salary :=sum(empsalary);
return total_salary;
end;
/
错误是:
-----------------------------------------------------------------
PLS-00103: Encountered the symbol "DEPT" when expecting one of
the following:
( return compress compiled wrapped
答案 0 :(得分:2)
Create or replace function get_empsalary_by_dept(p_emp_dept in employe.empdept%type)
return number
is
Total_salary number(10,2);
emp_dept varchar(20);
emp_salary number(10,2);
begin
select empdept, sum(empsalary)
into emp_dept,emp_salary
from employe
where empdept=p_emp_dept
group by empdept;
-- total_salary := emp_salary;
return emp_salary;
end;
/
也许这可以帮助你。
您的函数名称不能包含任何空格。输入参数(emp_dept)不能与变量相同。在这种情况下你不需要变量emp_dept。返回值可以是emp_salary。
答案 1 :(得分:0)
你的函数被称为“get_empsalary_by dept”(“by”和“dept”之间有一个空格)因此解析器会抱怨,因为它在函数之后需要一个有效的(即没有空格)函数名:相反,它会找到两个字符串。