在 PL/SQL 开发人员中使用了不带 Where 子句的更新语句

Used an Update Statement without Where clause in PL/SQL Developer

我在 pl/sql 中错误地执行了一个没有任何 where 子句的更新语句 developer.I 当我发现在执行需要时间完成一段时间后发生了什么时,确实单击了中断按钮,中断执行后,提交和回滚按钮变灰,因此无法回滚事务。我担心中断按钮是否会在 pl/sql 开发人员中提交事务或回滚到之前的状态。

首先要冷静..否则你就无法正确思考

立即执行回滚命令。

然后运行查询select更新的字段并检查结果是否包含更新值以外的任何值。

例如,如果您执行了以下查询,

update Employees set Status = 'Inactive' 您应该检查状态列是否包含 'Inactive'

以外的任何值

如果该列包含除更新值以外的任何值,则没有问题。

系统回滚了该更新语句。

如果该列不包含更新值以外的值,请与数据库管理员联系以回滚此事务。

他们将能够毫不费力地做到这一点。

PL/SQL 开发人员的 Break 密钥不提交,它只是中断当前操作并保留开始时的状态,包括任何未完成的事务。例如,如果您在没有提交的情况下执行了三个更新,然后开始了第四个更新但使用 Break 键将其中断,您仍然会有前三个未提交的更新,并且提交和回滚图标将处于活动状态。

图标变灰,因为没有要提交的事务。 PL/SQL 开发人员通过在每个语句后调用 dbms_transaction.local_transaction_id 来设置他们的状态以检查是否有未完成的交易。

如果您没有看到 “您确定吗?” 警告弹出窗口,您可以检查 配置 > 用户界面 > 选项 > DSA 对话框 如果您之前在“不再显示此消息”弹出窗口中单击了“确定”。