有人可以指出我做錯了什麼嗎?我試圖創建一個基於以下各表的排序方法:PL/SQL:SQL語句被忽略 - 創建一個獲取編譯錯誤的過程
下面是代碼:
create or replace procedure rank
(para_userid IN number, USERID IN number)
is
rank number;
v_userid number;
begin
v_userid := &USERID;
select v_userid, sum(decode(a.rank, 'SU', 25, 'EX', 9, 'VG', 5, 'G', 3, 'F',1) * b.tokens)/sum(b.tokens)
into rank
from a.GameID = b.GameID
where para_userid = v_userid;
return rank;
end;
declare
x number;
begin
x:=rank(&USERID);
DBMS_OUTPUT.PUT_LINE('User Ranking is: '||x);
end;
/
嘗試更換'v_userid: =&USERID;'by'v_userid:= USERID;'。另外,「rank」是一個保留字,您可能更喜歡以其他方式命名。另外,存儲過程不會「返回」任何東西。您需要改爲創建一個'FUNCTION'。 – Sebas