我只是想知道在PL/SQL中使用嵌套或內部顯式遊標是否實用。使用JOINS可以避免這種情況嗎?
以實用的方式使用內部遊標的任何示例都會很棒! 預先感謝您。嵌套內部遊標PL/SQL
0
A
回答
4
如果你在談論結構,如
FOR outer IN (<<query A>>)
LOOP
FOR inner IN (<<query B that depends on data from the outer query>>)
LOOP
<<do something>>
END LOOP;
END LOOP;
這將從根本上(即禁止在優化選取一個不錯的計劃某個角落的情況下,它是不實際的修復任何其他方式)總是更有效結合兩個查詢並進行連接。 SQL引擎有更多的靈活性來弄清楚如何連接兩個表(或兩個查詢),並且它比你在PL/SQL引擎中編寫的代碼好得多。這就是說,如果你處理的是小容量的數據,並且你(或者其他維護系統的開發者)在合併查詢之後會遇到麻煩,那麼從可維護性的角度來看,代碼循環可能是有原因的喜歡這個。例如,來自其他語言的開發人員可能會比較適合閱讀。如果數據量很小,手動編碼嵌套循環連接的額外開銷通常會相對較小,並且仍然會產生可接受的代碼。我個人傾向於儘量避免使用這種構造,但是我傾向於使用處理大量數據的系統以及適合編寫適當的PL/SQL和適當的SQL的人來處理這些問題連接查詢將更具可讀性。另一方面,如果你正在做一次小表的一次性更新,那麼編寫一個快速模塊可以更快,更容易地完成這種循環,並交給其他人審查,而不必驗證加入兩個大型查詢不會做任何意想不到的事情。
相關問題
- 1. Oracle PLSQL遊標嵌套選擇案例
- 2. PLSQL嵌套表
- 3. 如何使用遊標插入到嵌套表集合plsql
- 4. Oracle嵌套遊標
- 5. 嵌套SQL遊標
- 6. 替代SQL嵌套遊標
- 7. 嵌套遊標TSQL(SQL Server)
- 8. 插入到嵌套表plsql
- 9. PLSQL Oracle遊標程序
- 10. 嵌套while循環比嵌套遊標佔用更多時間
- 11. 嵌套Java內部類
- 12. 嵌套類,內部類
- 13. SQL嵌套內部連接
- 14. 嵌套遊標,代碼不會更新遊標以外的表
- 15. 嵌套遊標,多個結果集
- 16. SQL Server查詢性能:嵌套遊標
- 17. SQL Server:嵌套遊標語法錯誤
- 18. mysql嵌套遊標已經打開
- 19. 嵌套遊標,雖然循環SQL
- 20. 如何替換嵌套遊標?
- 21. PL/SQL中的嵌套遊標
- 22. SQL Server嵌套遊標問題
- 23. PLSQL需要匹配嵌套記錄
- 24. PLSQL函數聲明嵌套表
- 25. PLSQL - 遊標不能用於動態sql
- 26. PLSQL:輸出多個遊標的過程
- 27. PLSQL「錯誤遊標已打開」
- 28. 光標內的所有PLSQL
- 29. 甲骨文PLSQL嵌套遊標循環問題:沒有得到預期的效果
- 30. LINQ到SQL嵌套的內部連接?