使用同一个表中的另一个字段更新表中的字段,并在as400中将第二个字段设置为0

时间:2015-02-25 07:44:38

标签: sql ibm-midrange db2-400

目前我正在尝试这样做:

UPDATE File1
 SET Field1 = 'A', Field2 = ' ', SH_QY = QTY_CAN, QTY_CAN = 0
 WHERE
     OD_NR IN
          (SELECT OD_NR FROM file2 WHERE DELVY_TYPE = 'ABCD')
 AND
      OD_NR IN
          (SELECT OD_NR FROM file3 WHERE ID_CD = 'XYZ')
 AND  Field2 = 'H'

当我在SQL400中以交互方式运行时,这是有效的,但是当我在程序中运行它时,它同时使SH_QY和QTY_CAN = 0

请帮忙。

1 个答案:

答案 0 :(得分:0)

我不相信可以保证行前面的SET子句将在行结束之前执行。优化器可以按照它想要的顺序执行。尽管这很痛苦,但我建议在两个陈述中这样做。这样,你可以保证你会做你想做的事。

HTH, DaveSlash