我有两个表 Employee_Data
和 IOT_Codes_Temp
,我想用 IOT_Codes_Temp.IOT_Codes
更新 Employee_Data.IOT_Codes
的记录 . 以下是我的查询:
UPDATE employee_data t1
SET ( t1.iot_codes, t1.iot_codes_numeric ) = (SELECT t2.iot_code,
t2.iot_code_numeric
FROM ot_codes_temp t2
WHERE
t2.office = t1.department);
但它返回错误消息: ORA-01427: single-row subquery returns more than one row. 帮我如何摆脱这个错误 .
2 回答
您尝试使用的语法是INSERT语句..这将为您完成..
EDIT
因为我投了一票......我进一步研究了这个......你也可以这样做.. Reference
错误消息说明了一切:您的“更新”语法需要一行,但您的子选择返回多行 .
选项1:限定您的子选择,使其仅返回一行
选项2:将“=”更改为“IN”(或“ANY”,“A”“或”NOT“)
这取决于你想要做什么 .