我正在针对oracle数据库服务器执行以下UPDATE sql查询-
UPDATE TEST.SS_USER_CREDENTIALS SET CREDENTIAL = 'UUHs4w4Nk45gHrSIHA==';
在Oracle SQL Developer中执行此查询后,我可以看到查询的执行状态微调框永远旋转,因此不返回任何输出。但是,在同一张表上执行SELECT查询后,立即返回结果-
SELECT * FROM TEST.SS_USER_CREDENTIALS;
能否请您帮助理解为什么不执行UPDATE查询?
答案 0 :(得分: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
答案 1 :(得分:0)
如果未启用自动提交,则可能需要运行 提交;
否则,oracle更新实际上不会应用于您的数据集
答案 2 :(得分:0)
可能是您有另一个针对同一记录集的未提交的未提交事务,因此它们被锁定用于该事务。
如果您锁定了它们,则在另一个事务中运行相同的UPDATE。
只需提交/回滚您的交易
答案 3 :(得分:0)
这对我有用:
我知道这不是一个完整的答案,希望它有所帮助!