簡體   English   中英

為什么在PL / SQl ORACLE中使用游標?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM