实习总结(oracle的一些关键字)2018年12月

      发现有些插入语句后面带有commit关键字,刚开始搞不清这有什么么,试着带commit和不带commit各自提交了一遍之后再select查询也没发现什么不同,网上查找一些资料后才发现其中的奥妙。

      oracle的commit就是提交更新,在未commit之前,前面的操作更新的都是内存,没有更新到物理文件中。执行commi 就是更新到物理文件。例如:如果在没有commit之前,就算你把整个表中数据都删了,如果rollback的话,数据依然能够还原。

 

commit是针对于DML语言。

DML语言( 数据操作语言),比如update,delete,insert等修改表中数据的需要commit;
DDL语言( 数据定义语言),比如create,drop等改变表结构的,就不需要写commit(因为内部隐藏了commit);

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

for update 例如:

select * from  teacher for update ;

执行语句后点击编辑语句按钮,可以对直接语句进行修改,删除,新增。

当select语句中使用了for update,如果当前select发现自己的结果集中有一条或者多条数据正在被修改(如有其他的语句提前for update了等),那么再执行此语句就会一直等待:

 

你可能感兴趣的:(实习总结(oracle的一些关键字)2018年12月)