Oracle更新,其中select语句返回多行错误

时间:2016-01-21 08:54:18

标签: database oracle select where

嗨,我有一张这样的桌子:

ID名称编号

1 john 91234567

2 tom 98765432

3 ken 91357246 ...

我正在尝试将数字[91234567]更改为另一个数字但我得到此单行查询返回的行数超过1行。

我的陈述:

Update table set number = '9000000' where id = (select id from table where number = '91234567')

也许我还有另一张同样号码的记录。

由于我无权访问id,我该如何更改声明?感谢。

2 个答案:

答案 0 :(得分:3)

尝试使用IN代替=

Update table 
set number = '9000000' 
where id IN (select id from table where number = '91234567')

答案 1 :(得分:1)

如果您需要将包含91234567的所有记录更改为9000000:

update table
set number = 9000000
where number = 91234567