我是存储过程的新手。我必须设计一个用于ATOMIC插入(Mass插入)的存储过程。我正在使用COBOL程序来调用DB2中的存储过程。我将值存储在数组中,并且必须一次插入所有值。下面是我们在COBOL程序中使用的查询,我必须将其转换为存储过程。
INSERT INTO TABLE_NAME
(COLUMN1
,COLUMN2
,COLUMN3
,COLUMN4
,COLUMN5)
VALUES
(VALUE1
,VALUE2
,VALUE3
,VALUE4
,VALUE5)
FOR WS-SUB ROWS
ATOMIC
VALUE1,VALUE2,VALUE3,VALUE4,VALUE5是数组元素,而WS-SUB是出现次数。
我想知道,如果我可以在存储过程中处理数组,或者想知道是否有可能在DB2存储过程中进行ATOMIC插入。
提前致谢。
遵循z / OS 12.0.0上DB2的文档:
可以将DB2存储过程配置为使用数组作为参数类型,请参阅在SQL过程中使用数组的示例。
但是,如果您打算从COBOL调用此方法,则可能会遇到问题,因为COBOL嵌入式SQL应用程序中支持的SQL数据类型的文档指出:
COBOL预编译器不支持数组
另一种方法是将数据作为像CLOB或VARCHAR之类的字符来传递,然后在存储过程中对其进行解析。
缺省情况下,DB2存储过程不会在返回时提交,因此另一种选择是迭代COBOL表并重复调用该存储过程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句