簡體   English   中英

從Java調用多個Oracle存儲過程

[英]calling multiple Oracle stored procedures from Java

我在數據庫示例中有多個存儲過程:proc1,proc2,... proc10。

我想從Java中循環調用它們。 避免多次網絡旅行,反復編譯和性能的最佳方法是什么?

這就是我現在所擁有的:

for (int i = 1; i <= 10; i++) 
{
  CallableStatement stmt = conn.prepareCall("call proc"+i);
  stmt.execute()
}

我不想執行一個調用這10個過程的頂級過程,因為我想從我的代碼中更好地控制這些過程。 例如,執行5個過程后可能會中斷,並且可能需要上下文切換。 當我在服務器端執行頂層過程時,我無法執行此操作

一種方法是編寫另一個存儲過程,該存儲過程按順序調用proc1proc10 調用“超級程序”應該是一次往返。

參考:


我不得不排除該選項,因為我想從我的代碼中更好地控制這些執行。

如果您需要從代碼中進行控制,那么除了當前正在執行的操作之外,幾乎沒有其他選擇。 代碼中的控制意味着您的代碼必須在對存儲過程的每次調用之間執行。 這又意味着(至少)每個呼叫之間的往返。

(我想,您可以為每種情況編寫或生成一個不同的超級程序。但這與我的建議基本相同。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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