1
我在查找如何使用存儲過程調用和參數文件的db2batch的示例。使用帶有參數文件的存儲過程的db2batch
我有一個存儲過程,我想多次調用並提供文件中的參數,但是我正在努力尋找顯示這可能如何完成的文檔。
我在查找如何使用存儲過程調用和參數文件的db2batch的示例。使用帶有參數文件的存儲過程的db2batch
我有一個存儲過程,我想多次調用並提供文件中的參數,但是我正在努力尋找顯示這可能如何完成的文檔。
有關使用參數文件的文檔肯定不是很好。但是,您確實可以使用db2batch
調用存儲過程**。
下面是命令行的示例:
db2batch -d yourdb -iso cs -f stmts.sql -m stmts.data
調用過程會是這個樣子的SQL文件(stmts.sql
):
--#BGBLK 5
call my.storedproc(?, ?);
--#EOBLK
的--#BGBLK
後的數字指示db2batch
執行塊中的語句5次。
你的參數文件(stmts.data
)是這樣的(本實施例中爲存儲的過程,其中第一個參數存儲過程是INT
,第二個參數是一個VARCHAR(15)
,又都是IN
參數):
1 'First'
2 'Second'
3 'Third'
4 'Fourth'
5 'Fifth'
6 'Sixth'
7 'Seventh'
8 'Eighth'
9 'Ninth'
10 'Tenth'
該文件中有10對參數,但由於--#BGBLK
標識符指定的重複計數僅爲5,因此db2batch將只讀取參數文件中的前5行。如果您指定的重複次數大於參數文件中的行數,那麼對於沒有參數文件中對應值的重複,您將得到錯誤。
**注意:db2batch
將在具有IN
參數的過程中工作,甚至會處理返回結果集的存儲過程,但我不知道如何使它與使用存儲過程的存儲過程一起工作OUT
參數。
Thansk Ian這是非常有幫助的,我們在每個存儲過程中都使用那些輸出參數時感到羞恥:( – sapatos
我對OUT參數有一個破解,只要類型是相同的對我來說可以 – sapatos
@sapatos你可以澄清「類型是相同的」嗎?對於INOUT參數還是純粹的OUT參數? –