Proc編譯執行出現ORA-1002:fetch out of sequence
在編譯執行proc程式時候,出現ora-1002錯誤,程式中簡單步驟:
1、開啟遊標,
2、通過捆綁變數v1,迴圈執行select col_name from table_name where colB= :v1,獲得結果集。
3、迴圈完成之後,關閉遊標
類似語句如下:
exec sql declare C cursor for S;
exec sql open c using :v1
while ( xxxx)
{
/* v1 有多個值*/
執行select col_name from table_name where colB=:v1
}
exec sql close c;
問題解決:
在oracle 10g和11g,出現類似上述查詢語句時候,在同一個遊標下,第一次賦予捆
綁變數的值,查詢沒有問題,但在第二次賦予捆綁變數新值的時候,有可能出現
ORA-1002錯誤。
所以修改語句將開啟和關閉遊標放置在迴圈語句的頭和尾,每一次迴圈,賦予新的捆綁變數值,採用新的遊標。類似於:
while ( xxxx)
{
exec sql open c using :v1
/* v1 有多個值*/
執行select col_name from table_name where colB=:v1;
exec sql close c;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-714114/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .NET 編譯執行or解釋執行?編譯
- 深入淺出JVM(七)之執行引擎的解釋執行與編譯執行JVM編譯
- vim編譯執行c編譯
- 網頁遊戲的編譯執行網頁遊戲編譯
- C# 中利用執行時編譯實現泛函C#編譯
- Go 1.7.2 版本釋出,修復編譯器和執行時Go編譯
- 在Mac上用自己編譯出的DNX執行.NET程式Mac編譯
- C程式從編譯到執行C程式編譯
- PHP編譯,執行make報錯PHP編譯
- ubuntu編譯執行xv6Ubuntu編譯
- Java編譯和執行的命令Java編譯
- 編譯執行、解釋執行的一些思考編譯
- 提前編譯:AOT-Native Image 和執行時編譯 JIT編譯
- Python是如何編譯執行的Python編譯
- Clojure 執行原理之編譯器剖析編譯
- hadoop 編譯程式碼及執行Hadoop編譯
- nginx 編譯出現的問題Nginx編譯
- webpack編譯vue出現dev警告Web編譯Vuedev
- Android編譯通過,執行編譯錯誤問題總結Android編譯
- 實現微信小程式編譯和執行環境系列(初始篇)微信小程式編譯
- pipe-out-from-a-sequence-of-commands to sqlplusSQL
- 初探 Go 的編譯命令執行過程Go編譯
- 無IDE時編譯和執行JavaIDE編譯Java
- 實現微信小程式編譯和執行環境系列(核心篇一)微信小程式編譯
- 實現微信小程式編譯和執行環境系列(進階篇)微信小程式編譯
- 自己動手實現springboot執行時執行java原始碼(執行時編譯、載入、註冊bean、呼叫)Spring BootJava原始碼編譯Bean
- Linux下編譯生成SO並進行呼叫執行Linux編譯
- Idea除錯Rocketmq原始碼編譯執行Idea除錯MQ原始碼編譯
- 編譯Android下可執行命令的FFmpeg編譯Android
- 執行無法解決的編譯錯誤編譯
- 用javac編譯servlet類出現問題Java編譯Servlet
- 編譯EJB出現錯誤的解決編譯
- 編譯實體Bean出現如下錯誤.....編譯Bean
- VS2012編譯C語言程式碼執行出現黑框一閃就沒了編譯C語言
- 編輯cron實現自動執行
- 如何編譯執行HanLP自然語言處理包編譯HanLP自然語言處理
- qt編譯報錯 無法執行“rc.exe”QT編譯
- C語言的編譯連結執行過程C語言編譯