我有这个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/