-1

我試圖創建一個成員函數,該函數返回過期成員的成員名稱。我的選擇查詢工作之外的成員函數的這個成員函數,沒有任何問題編譯,但是當我調用該函數我得到這個錯誤:Oracle ORA-01422:精確提取返回的行數多於請求的行數

ORA-01422:精確獲取回報超過行

我的請求數量假設它很簡單,但我沒有長時間使用Oracle,所以有點卡住了語法。有人能幫忙嗎?

+0

是否有特定的理由讓這個面向對象的路線走下坡路,而不是僅僅使用數據庫關係? – 2013-05-04 09:35:00

+1

你爲什麼刪除代碼示例?沒有它,這個問題就完全沒有意義。 – APC 2013-05-04 14:37:31

回答

1

由於此查詢可以返回多行,需要使用遊標和遊標循環來遍歷結果。但是,您不能使用varchar返回多個成員名稱;你可以使用PL-SQL表。

0

select m.forename into memberName from member_tab m ADD_MONTHS(m.datejoined,64)< SYSDATE;

看起來是這樣的查詢返回1個多結果...

ü可以使用SELECT COUNT(*)或異常處理解決異常,並處理> 1分的結果

+0

謝謝你,我已經嘗試了數,但我仍然得到重複行?你知道如何計算只顯示一行嗎? – Daveloper87 2013-05-04 09:52:42

+0

你可以用count來檢查是否有超過1行不能修復它。 你打算從函數中返回所有這些值還是隻有一個值? – 2013-05-04 10:02:30

相關問題