发布网友
共6个回答
热心网友
commit是提交修改,其实是触发checkpoint,Oracle进程中有chkp进程(是不是这4个字母忘记了),当checkpoint即检查点触发后,会由数据写进程将内存中数据的改动写入磁盘,形成永久更改。当然其实如果你做了修改又没有commit并不一定会丢失数据,这里面又牵扯到日志,回滚数据等等,,总之你对表数据做了修改并且确认不需要rollback的话习惯上使用commit比较好,,仅仅是个人意见。。。
热心网友
这个命令是将脏数据写到数据库中。如果不执行COMMIT这个命令,那么在你这个session之外的其他session查询的数据是你修改数据之前的数据。而COMMIT之后人家查询的是你修改的数据。你可以打开两个sqlplus比较做一下测试。一目了然。
热心网友
commit是提交,不提交的话你做的工作都白费
热心网友
除了select,如果不commit,所作的修改回滚
热心网友
commit是提交
热心网友
Oracle数据库里面有DCL语句(Data Control Language),一共有四个关键字,commit、rollback、grant和revoke。它们执行的时候,你都不会有什么感觉。commit在数据库编程的时候很常用,当你执行DML操作时,数据库并不会立刻修改表中数据,这时你需要commit,数据库中的数据就立刻修改了,如果在没有commit之前,就算你把整个表中数据都删了,如果rollback的话,数据依然能够还原。听我这么说,你或许感觉commit没什么用,其实不然。当你同时执行两条或两条以上的sql语句时,问题就出现了。举一个例子,你去银行转账,你转的时候银行的数据库会update你银行账户里面的数据,同时对另一个人得账户也进行update操作。这两个程序都必须全部正确执行,才能commit,否则rollback。如果只是完成一条,要么你郁闷,要么银行郁闷,第一种情况是,你的账户的钱没少,转账人得账户上的钱多了,银行郁闷了。第二种情况你的银行账户的钱少了,他的却没多,你就好郁闷了。Oracle好好学吧!sql不难,plsql努努力也能熬过去,等到优化那,哎!DBA不是那么好当的。还有就是commit算是显式提交,还有隐式提交,并不是,不commit的话,你的全部努力就都白费了。