在 Oracle SQL 中使用合并
Using Merge in Oracle SQL
我们可以在 merge
语句中使用 join
吗?
MERGE INTO TABLE1 T
USING TABLE2
ON .....
WHEN MATCHED THEN .....
WHEN NOT MATCHED THEN INSERT (X,Y,Z1) VALUES (X,Y,Z1);
X 和 Y 属于 TABLE2,合并没有问题,但我还想在合并到 TABLE1 时从另一个 TABLE3 插入 Z1。
我正在尝试加入 TABLE3,但在合并语法中不允许这样做。
有什么办法吗?
USING
子句可以将子查询作为其参数。听起来你想要这样的东西:
MERGE INTO table1 t
USING (
... subquery joining TABLE2 and TABLE3 ...
) f
ON f.something = t.something
...
我们可以在 merge
语句中使用 join
吗?
MERGE INTO TABLE1 T
USING TABLE2
ON .....
WHEN MATCHED THEN .....
WHEN NOT MATCHED THEN INSERT (X,Y,Z1) VALUES (X,Y,Z1);
X 和 Y 属于 TABLE2,合并没有问题,但我还想在合并到 TABLE1 时从另一个 TABLE3 插入 Z1。
我正在尝试加入 TABLE3,但在合并语法中不允许这样做。
有什么办法吗?
USING
子句可以将子查询作为其参数。听起来你想要这样的东西:
MERGE INTO table1 t
USING (
... subquery joining TABLE2 and TABLE3 ...
) f
ON f.something = t.something
...