我想从另一个(太长而复杂的)查询的结果更新表(Oracle)。
为简单起见,Query1是我的复杂查询并返回如下内容:
Item_ID | Item_Data
--------------------
10 XXX
20 ZZZZ
30 SSSS
我想这样做
UPDATE MyTable SET MyTable.MyData = Query1.Item_Data where MyTable.MyID = Query1.Item_ID
我怎样才能做到这一点? 感谢
答案 0 :(得分:2)
检查MERGE INTO条款。我现在无法测试,但它应该是这样的:
MERGE INTO mytable mt
USING (your complex query here) cc
ON mt.myid = cc.item_id
WHEN MATCHED THEN UPDATE SET mt.mydata = cc.item_data