PL / SQL函数与参数和连接以及if else

时间:2015-10-06 20:06:09

标签: mysql sql oracle plsql

我有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;

1 个答案:

答案 0 :(得分:1)

我不确定它是否会导致您的错误,但是对您的变量,列和表使用相同的名称似乎是不好的做法,并且很可能与您的错误有关,我会将它们全部更改不同的东西。