我有这个PL/SQL function,它带有一个学生的名字(emri)和一个学科的名字(lenda),并返回一个状态,如果学生通过的是那个学科。如果分数(nota)大于4,则学生通过;如果分数为4,则不通过。

如果删除我的select query函数,则编译不会出错,但是当我使用select查询进行编译时,它会显示:ORA-24344: success with compilation error

当单独运行而不是在函数中运行时,查询工作正常。怎么了谢谢

create or replace function std_status(emri in varchar2, lenda in varchar2)
return varchar2

is

nota nota.nota%type;
status varchar2(20);

begin

select n.nota into nota
from studenti s
join nota n on s.ids = n.ids
join lenda l on l.lid = n.lid
where s.emri = emri and l.emri = lenda;


if nota>4 then
status := 'kalues';
else
status := 'ngeles';
end if;

return status;

end;

最佳答案

我不确定是否会导致您的错误,但是对变量,列和表使用相同的名称似乎是一种不好的做法,并且可能与您的错误有关,因此我将它们全部更改为其他内容。

关于mysql - 具有参数和联接的PL/SQL函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32978734/

10-10 02:35