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参数? –