多行插入中ATOMIC和NON ATOMIC子句的用途是什么?您将如何在COBOL-DB2程序中使用它们?举例说明。
ATOMIC和NONATOMIC子句与多行插入一起使用。如果未提供任何选项,则默认情况下始终会处理ATOMIC。ATOMIC子句指出,如果在多行插入过程中插入任一行时发生故障,则整个查询将失败,并且所有插入都将回滚。
NONATOMIC子句与ATOMIC子句恰好相反。当我们必须在多行插入中分别插入和处理所有行时使用它。例如,可以像下面这样使用该选项。
MOVE 50 TO MAX-ROWS EXEC SQL INSERT INTO ORDERS (ORDER_ID, ORDER_DATE) VALUES(:ORDER-ID, :ORDER-DATE) FOR :MAX-ROWS ROWS NON ATOMIC END-EXEC