我想了解以下两个陈述之间的区别:
insert into table_name values (,,,,,);
和
insert into table_name values (,,,,,);
commit;
答案 0 :(得分:8)
如果在没有提交的情况下插入数据,则可以从数据库中选择数据并查看它。但其他用户不能。
查看sql文档会更好:
的一些信息在您提交交易之前:
您可以看到在交易过程中所做的任何更改 查询修改后的表,但其他用户无法查看更改。 提交事务后,更改对其他人可见 用户'提交后执行的语句。
您可以回滚(撤消)在事务期间所做的任何更改 ROLLBACK语句(参见ROLLBACK。
答案 1 :(得分:1)
要插入数据库中的所有DML(插入,更新,删除)都必须提交它们,例如批准您要将它们添加到数据库中。如果您不提交DML语句,则不会输入数据库。
什么是提交?
Docs.oracle无法更好地描述
使用COMMIT语句结束当前事务并生成 永久所有在交易中执行的更改。交易是一个 Oracle数据库视为单个语句的SQL语句序列 单元。他的陈述也删除了交易中的所有保存点 释放事务锁。