我正在对oracle数据库服务器执行以下更新sql查询-
UPDATE TEST.SS_USER_CREDENTIALS SET CREDENTIAL = 'UUHs4w4Nk45gHrSIHA==';
在Oracle SQL developer中执行此查询后,我可以看到查询的执行状态旋转器一直在旋转,因此没有返回任何输出。然而,在同一个表上执行SELECT查询会立即返回结果-
SELECT * FROM TEST.SS_USER_CREDENTIALS;
您能帮助理解为什么不执行UPDATE查询吗?
发布于 2020-05-02 05:33:16
尝试使用where子句
UPDATE TEST.SS_USER_CREDENTIALS SET CREDENTIAL = 'UUHs4w4Nk45gHrSIHA==' where id='someid';
正如我看到你的命令,如果表有万亿行,这将需要时间(因为我猜这不应该是外键)
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
如果您正在寻找临时解决方案,如果遇到外键问题,还可以将更新时操作更改为级联并修改您的If
发布于 2020-05-02 05:42:28
如果你没有启用自动提交,你可能需要运行提交;
否则oracle更新实际上不会应用于您的数据集
发布于 2020-05-02 05:45:56
对于同一组记录,您可能有另一个打开的未提交事务,因此该事务锁定了这些事务。
如果您锁定了它们,则在另一个事务中运行相同的更新。
只需提交/回滚您的事务
https://stackoverflow.com/questions/61554907
复制