返回的Oracle更新表值'单行子查询返回多行'

时间:2015-12-04 04:41:31

标签: oracle

我想添加一个名为' Bonus_AMT'在桌子上'员工'。 这是我写的条款。 enter image description here 我运行了上述条款,但它没有奏效。它返回单行'子查询返回多行。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:0)

您需要将update子句中的表与SET中使用的select子句中的表连接起来。这是一个例子。

update employees e1 set bonus = (select salary*commission_pct from employees e2 where e1.employee_id = e2.employee_id);

您需要确保两个版本的表都加入主键。

答案 1 :(得分:0)

set中使用的select查询子句为应用的日期范围返回多行。因此,您需要更改该select子句,以便一次使用连接单个记录并更新相同的记录。

相关问题