无法更新数据库中的列

桑杰·马尔霍特拉(Sanjay Malhotra)

我必须用另一个表(另一张表)中的值更新一个表中的列。我必须更新约100000条记录(而不是单行更新)。

我的查询是

update asset_dmr_revision adr 
   set adr.revision_date = (select adrt.revision_date_test 
                              from asset_dmr_revision_test adrt,
                                   asset_dmr_revision ad 
                             where ad.id = adrt.id 
                               and adrt.revision_date_test is not null
                               and ad.asset_id = adrt.asset_id) 

但是,当我在Toad中运行时,它会显示“单行子查询返回多个行”。如何更新所有列?我正在使用oracle

尼山提·格拉希亚(Nishanthi Grashia)

在内部选择查询中添加and rownum = 1and rownum <=1这将确保内部查询始终仅返回1条记录。

select adrt.revision_date_test 
                             from asset_dmr_revision_test adrt,
                                   asset_dmr_revision ad 
                             where ad.id = adrt.id 
                               and adrt.revision_date_test is not null
                               and ad.asset_id = adrt.asset_id
                               and rownum <= 1

注意:据我rownum <=1所知已知的性能要比rownum=1

编辑:

试试下面的更新查询:

update asset_dmr_revision adr 
   set adr.revision_date = nvl(select adrt.revision_date_test 
                              from asset_dmr_revision_test adrt,
                              asset_dmr_revision ad 
                               where ad.id = adrt.id 
                               and adrt.revision_date_test is not null
                               and ad.asset_id = adrt.asset_id
                   and adr.id = adrt.id
                   and rownum <=1
                   ) , adr.revision_date);

基本上,外部adr表和内部adrt表之间没有关联。所以我增加了附加条件and adr.id = adrt.id检查并让我知道是否有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据库无法连接或更新

来自分类Dev

无法从PHP中的数据库更新变量

来自分类Dev

Codeigniter更新记录-无法在数据库中更新

来自分类Dev

无法更新数据库中的对象

来自分类Dev

数据库更新无法在Meteor方法中运行

来自分类Dev

更新数据库中一列中的多行

来自分类Dev

无法通过Laravel更新数据库

来自分类Dev

无法使用SWIFT更新数据库FMDB中的字段

来自分类Dev

无法更新数据库形式的数据

来自分类Dev

如何自动更新数据库中的列

来自分类Dev

无法在Stripe Webhook中更新数据库

来自分类Dev

如何使用NHibernate更新数据库中的版本列

来自分类Dev

无法在本地数据库中更新或删除:错误

来自分类Dev

更新NodeJs中数据库中的列

来自分类Dev

无法更新数据库

来自分类Dev

如何更新整个数据库中的列?

来自分类Dev

无法更新sqlite数据库中的记录

来自分类Dev

无法从MySQL数据库更新数据

来自分类Dev

无法更新数据库中的行

来自分类Dev

无法更新表单字段中的数据库条目

来自分类Dev

无法更新数据库中的图像路径

来自分类Dev

无法更新Kinvey数据库中的数据

来自分类Dev

无法更新数据库中的字段

来自分类Dev

无法使用SWIFT更新数据库FMDB中的字段

来自分类Dev

无法在 MySQL 数据库中创建列?

来自分类Dev

自动更新 SQL Server 数据库中的列

来自分类Dev

我无法更新数据库中的字母密码

来自分类Dev

使用实体框架核心更新数据库中的列

来自分类Dev

无法使用php更新mysql数据库中的值