当前位置:  数据库>oracle

Oracle 什么时候需要commit

    来源: 互联网  发布时间:2017-05-16

    本文导语: 今天在Oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,但是为什么不一致呢,就是没用commit, 在网上查了一下...

今天在Oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,但是为什么不一致呢,就是没用commit,

在网上查了一下,大概是这样说的:

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

DDL 数据定义语言:
create table 创建表 
alter table 修改表 
drop table 删除表 
truncate table 删除表中所有行 
create index 创建索引 
drop index 删除索引
当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create
table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。

DML 数据操作语言:
insert 将记录插入到数据库 
update 修改数据库的记录 
delete 删除数据库的记录
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动
发出commit命令,使未提交的DML命令提交。


DDL  :
Data Definition Language (DDL) statements are used to define the database structure or schema. Some examples:
CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
COMMENT - add comments to the data dictionary
RENAME - rename an object

DML:
Data Manipulation Language (DML) statements are used for managing data within schema objects. Some examples:
SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency

DCL
Data Control Language (DCL) statements. Some examples:
GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command

TCL
Transaction Control (TCL) statements are used to manage the changes made by DML statements. It allows statements to be grouped together into logical transactions.
COMMIT - save work done
SAVEPOINT - identify a point in a transaction to which you can later roll back
ROLLBACK - restore database to original since the last COMMIT
SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use


    
 
 

您可能感兴趣的文章:

  • 我在安装oracle的时候出现了这个错误,请懂行人赐教~~附图!~~
  • Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • 在linux下装oracle9i到了最后时候,提示/tmp空间不够了,怎么增加,谢谢!
  • 安装oracle9的时候字符无法显示??
  • 为什么在编译java程序的时候出现oracle.jdbc.driver不存在?急!!!
  • RedHat AS 4 安装oracle9i的时候,执行Disk1下的runInstaller后提示正在初始化虚拟机,请等待后就再无反应
  • 用jsp + oracle开发时候的一个棘手问题,请帮忙!谢谢
  • 请教:Linux7.0下安装oracle817需要网卡吗?
  • 安装oracle9需要的包哪里找?
  • 通过win2000在linux上安装oracle,需要一个什么工具?在哪有下?
  • 请问:ORACLE中的数据取出来后,需不需要进行一定的转换才能变为C语言的数据类型啊?
  • 用redhat linux8.0+Oracle8i做网络数据库服务器,我需要怎样配置?
  • 用redhat linux8.0+Oracle8i做网络数据库服务器时,我需要怎样配置?
  • 配置Oracle RAC需要注意的问题
  • 在html运行的applet中需要访问oracle,在jb里可以连接,但直接点击html时就出现找不到类“sun.jdbc.odbd.JdbcOdbcDriver"?
  • 操作系统 iis7站长之家
  • 通过libsqlora8-2.2.10--c语言程序连接oracle数据库,需要连接,查询,修改等,急!!!
  • Oracle体系结构需要首先了解的两个概念
  • MySQL转换Oracle的需要注意的七个事项
  • 基于Linux平台的Oracle RAC 10g集群教程:删除节点所需要的步骤
  • 基于Linux平台的Oracle RAC 10g集群教程:添加节点所需要的步骤
  • Oracle外键列上是否需要索引?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 执行Commit时Oracle做哪些工作
  • Oracle Form中COMMIT的概述及使用技巧
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,