2015-10-06 72 views
0

我有這個PL/SQL function,它帶有一個學生(emri)和一個主題(lenda)的名字,並且如果學生通過該主題則返回一個狀態。如果標記(nota)大於4,則學生通過,如果是4,則不是。帶參數和連接的PL/SQL函數以及其他如果其他

如果我刪除,沒有錯誤我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

謝謝你這麼多人的工作! @steve –