[英]Using cursors and getting result in Oracle PL/SQL with Java/JDBC
[英]Why using cursors in PL/SQl ORACLE?
我是PL / SQL的初學者,在學習課程期間,我看到了CURSOR
,我想知道為什么要使用它,何時使用? 非常感謝你
當執行SELECT並返回多行時,您不能將行保存在變量中 ,因此必須使用CURSOR 。 如果您熟悉編程,則CURSOR類似於Array 。 因此,如果執行SELECT並將結果保存在代碼中的變量中,例如:
SELECT id INTO v_id FROM table;
如果返回多行,則無法將行保存在變量v_id中 ,並且將引發TOO_MANY_ROWS異常。 參考: http : //www.oracle.com/technetwork/issue-archive/2013/13-mar/o23plsql-1906474.html
另外,如果您看過Oracle的FOR ... IN(SELECT ...)... LOOP ... END LOOP語句,則使用隱式游標。
使用顯式游標方法的原因是,您可以使用游標執行更多操作,例如BULK COLLECT,它可以在很多(但不是全部)情況下極大地提高處理性能。 在開發更復雜的流程時,更好的控制(不僅僅是執行BULK COLLECT)是有幫助的。
祝您進入Oracle旅途順利。 我已經使用14年了,並且非常喜歡。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.