有没有办法使用 Oracle 10g 中的查询中的记录值轻松/优雅地更新表中的多个列?
我有一个表(称为 Source),为了简单起见,它有 2 列 ID
和KEY
.
身份证钥匙 ---- ---- 1 1000 2 1000 3 5000 4 1000 .. 101 8000 102 9000 103 7000 104 9000 ... 201 5 202 5 ...
我有另一个表(称为它KeyMap
)将trunc(ID/100)
其用作 a 并将其用作batchID
批处理中 ID 的键映射:
trunc(ID/100) key1 key2 key3 key4 ..... key99 ------------- ---- ---- ---- ---- 0 1000 1000 5000 1000 1 8000 9000 7000 9000 2 5 5
ID 是分批创建和处理的,因此在批处理结束时,我想调用一个存储过程来KeyMap
使用新Key
值更新表中的记录,其中 1 个更新语句使用提供这些键的子选择或集合价值观。
这可能吗?最好/最有效的方法是什么?