1
我需要使用顯式光標,該參數接受汽車註冊才能找到汽車上的最新預訂。我不能使用MAX功能 。我必須比較所有相關日期以找到最新的日期。光標選擇不帶MAX功能或子查詢的最大日期
這是我迄今爲止」
Declare
v_rec_date DATE;
Cursor date_cur (v_reg VARCHAR2) IS
SELECT * FROM i_booking
WHERE registration = v_reg;
v_date date_cur%ROWTYPE;
Begin
FOR v_date IN date_cur LOOP
DBMS_OUTPUT.PUT_LINE('Recent Rental Date:'|| ' '||v_rec_date);
END LOOP;
End;
然而,這是給我的錯誤:
FOR v_date IN date_cur LOOP
*
ERROR at line 8:
ORA-06550: line 8, column 15:
PLS-00306: wrong number or types of arguments in call to 'DATE_CUR'
ORA-06550: line 8, column 1:
PL/SQL: Statement ignored
我要去哪裏錯在這裏
可悲的是我不確定你的意思......這超出了我的頭。 – Splunk
@Splunk - 我用一些額外的細節更新了答案。如果你看看這個例子,不明白它在做什麼,我會建議閱讀Oracle對遊標的介紹。 http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23plsql-1906474.html – Carth
非常感謝Carth,感謝您的回覆。我已經看過這些文檔並試過聲明 cursor c1(v_reg VARCHAR2)IS Select * from i_booking WHERE registration = v_reg; Begin FOR c1 LOOP DBMS_OUTPUT.PUT_LINE(registration); END LOOP; END;不過,我仍然得到相同的錯誤。 – Splunk