更新查询永远卡住

问题描述 投票:0回答:1

我正在对oracle数据库服务器执行以下UPDATE sql查询-。

UPDATE TEST.SS_USER_CREDENTIALS SET CREDENTIAL = 'UUHs4w4Nk45gHrSIHA==';

在Oracle SQL developer中执行这个查询后,我可以看到查询执行状态的spinner一直在旋转,因此没有返回任何输出。然而,在同一张表上的以下SELECT查询立即返回结果--。

 SELECT  * FROM TEST.SS_USER_CREDENTIALS;

请你帮助理解为什么UPDATE查询不能执行?

sql database postgresql rdbms
1个回答
0
投票

如果你没有启用自动提交,你可能需要运行COMMIT。

否则oracle的更新将不会应用到你的数据集上


0
投票

试试用where子句

UPDATE TEST.SS_USER_CREDENTIALS SET CREDENTIAL = 'UUHs4w4Nk45gHrSIHA==' where id='someid';

我看到你的命令,如果表有一万亿行,这将需要时间(因为我猜测这不应该是外键)。

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

如果你正在寻找一个临时的解决方案,你也可以把ON UPDATE动作改为CASCADE,如果你有一个外键的问题,你可以修改你的id。


0
投票

它可能是你有另一个打开的未提交的事务的相同的记录集,所以他们是锁定的事务。

如果你锁定了它们,在另一个事务中运行相同的UPDATE。

只是Commitrollback你的事务

© www.soinside.com 2019 - 2024. All rights reserved.