【问题标题】:What does COMMIT do?COMMIT 是做什么的?
【发布时间】:2015-04-01 07:59:42
【问题描述】:

请理解以下两种说法的区别:

insert into table_name values (,,,,,);

insert into table_name values (,,,,,);
commit;

【问题讨论】:

  • 这两个语句都将记录插入数据库但commit基本上将记录提交到数据库中,以便其他人可以看到更改。
  • 此外,注销后所有未提交的更改都消失了
  • @rzysia 行为取决于工具。一些在断开连接时自动提交。
  • 您可能想看看the Oracle documentation for the COMMIT statement,它清楚地说明了执行 COMMIT 时会发生什么。分享和享受。

标签: sql oracle


【解决方案1】:

如果您在没有提交的情况下插入数据,您可以从数据库中选择数据并查看它。但其他用户不能。

最好看一下sql文档:

直到您提交事务:

您可以通过以下方式查看您在交易期间所做的任何更改 查询修改后的表,但其他用户看不到更改。 提交事务后,更改对其他人可见 提交后执行的用户语句。

您可以回滚(撤消)事务期间所做的任何更改 ROLLBACK 语句(参见 ROLLBACK。

例如这里Oracle Documentation 还有一些关于transactions的信息

【讨论】:

  • 这没有意义。我从未使用过提交语句,人们总是能够看到我的更改。
【解决方案2】:

所有要插入数据库的 DML(插入、更新、删除)您必须提交它们,例如批准您要将它们添加到数据库中。如果不提交 DML 语句,则不会进入数据库。

什么是提交?

Docs.oracle无法形容

使用 COMMIT 语句结束当前事务并进行 永久在事务中执行的所有更改。一笔交易是一个 Oracle 数据库将其视为单个 SQL 语句的序列 单元。他的声明还删除了事务中的所有保存点,并且 释放事务锁。

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 2020-02-14
    • 1970-01-01
    • 2021-06-20
    • 2019-12-12
    • 2018-10-26
    • 2017-12-21
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多