我正在尝试更新 Oracle 中的三个完全不同的表,但在所有这些表中都有一个完全相同的字段“状态”。
问题是我需要将这些字段更新为“新”。
这就是为什么我想知道是否可以同时更新多个表。
我想到了这样的事情,但是它给了我一个错误:
UPDATE SS_WERUECK, SS_BESTELLUNGR, SS_KOMMBESTR
SET STATUS = 'NEW';
我会提前关注,谢谢。
我正在尝试更新 Oracle 中的三个完全不同的表,但在所有这些表中都有一个完全相同的字段“状态”。
问题是我需要将这些字段更新为“新”。
这就是为什么我想知道是否可以同时更新多个表。
我想到了这样的事情,但是它给了我一个错误:
UPDATE SS_WERUECK, SS_BESTELLUNGR, SS_KOMMBESTR
SET STATUS = 'NEW';
我会提前关注,谢谢。
没有
UPDATE
允许您一次更新所有 3 个表的语句。但实际上,这应该不重要。如果您想要以原子方式应用所有更改,那么只需在同一事务中进行所有更改:
而且,如果您出于某种原因确实希望在一个语句中完成所有 3 次更新,则始终可以使用匿名 PL/SQL 块来完成:
尝试一个程序:
这也适用于您要删除表中的数据的情况。如果这些被索引,它们将不得不级联删除,考虑到第一个表的顺序作为必须首先删除的数据,直到没有与该表建立索引的位置时可以删除的最后一个。在这种情况下,请记住将“更新”更改为“删除”。