我可以在DB2中使用SIngle查询更新2个文件

时间:2017-11-18 08:56:09

标签: sql ibm-midrange db2-400

我有2个文件,文件A和文件B(具有相同的密钥)。 我需要用文件B中的一些相应字段更新文件A中的一些字段。另外,如果我能够更新文件A中的行,那么我需要将文件B中的字段'ERrorflag'更新为'N'。

我的问题是,有没有办法在没有光标的情况下实现这一目标?我知道'更新'只能更新一个文件,但有没有其他选项,如'合并'?

1 个答案:

答案 0 :(得分:2)

因此,您可以使用存储过程调用执行此操作(但存储过程必须执行两次更新,每个文件一次)或使用触发器(文件A上的更新将触发文件B上的更新(仍然两个更新语句,但第二个在后台发生。)不幸的是,使用触发器选项,对文件A的任何更新都会导致触发器触发,因此如果您只希望在更新文件A时更新文件B中的标志来自文件B的数据,您将不得不确定如何在发生任何其他更新时阻止文件B更新。使用存储过程更容易管理,并且您还可以将两个更新包装在事务中以进行确定既发生也不发生。