我正在尝试查找如何将 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
) 将如下所示(此示例适用于存储过程,其中存储过程的第一个参数是 an INT
,第二个参数是 a 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
参数的存储过程一起工作。