下面的 sql 语句抛出错误:
ORA-01427: 单行子查询返回多于一行
UPDATE TABLE_1 T1
SET ( COL1, COL2, COL3, COL4) = (
SELECT col1
, col2
, col3
, col4
FROM TEMP_TABLE_2 tt2
WHERE tt2.COL_XYZ = t1.COL_XYZ)
WHERE EXISTS ( select null
FROM TEMP_TABLE_2 tt2
WHERE tt2.COL_XYZ = t.COL_XYZ);
我相信问题出在“存在位置”上,因为我知道内部选择查询只为给定的 COL_XYZ 记录返回一行。
有任何想法吗?