用户登录
用户注册

分享至

Oracle COMMIT语句

  • 作者: qzcm_nhuser1230251
  • 来源: 51数据库
  • 2022-10-13

在Oracle中,COMMIT语句可以用来提交当前事务的所有更改。提交后,其他用户将能够看到您的更改。本文要为大家带来的就是COMMIT语句的用法。


COMMIT语句语法:

Oracle / PLSQL中COMMIT语句的语法是:


COMMIT [ WORK ] [ COMMENT clause ] [ WRITE clause ] [ FORCE clause ];

参数

WORK:可选的。它被Oracle添加为符合SQL标准。使用或不使用WORK参数来执行COMMIT将产生相同的结果。

COMMENT clause:可选的。 它用于指定与当前事务关联的注释。 该注释最多可以包含在单引号中的255个字节的文本中。 如果出现问题,它将与事务ID一起存储在名为DBA_2PC_PENDING的系统视图中。

WRITE clause:可选的。 它用于指定将已提交事务的重做信息写入重做日志的优先级。 用这个子句,有两个参数可以指定:WAIT 或 NOWAIT (如果省略,WAIT是默认值)IMMEDIATE或BATCH(IMMEDIATE是省略时的默认值)

FORCE clause:可选的。 它用于强制提交可能已损坏或有疑问的事务。 有了这个子句,可以用3种方式指定FORCE:FORCE’string’,[integer]或FORCE CORRUPT_XID’string’或FORCE CORRUPT_XID_ALL

注意

必须拥有DBA权限才能访问系统视图 – DBA_2PC_PENDING和V$CORRUPT_XID_LIST。

必须拥有DBA权限才能指定COMMIT语句的某些功能。

COMMIT语句示例

我们来看一个示例,演示如何使用COMMIT语句在Oracle中发出提交。


COMMIT;

此COMMIT示例将执行与以下相同的操作:


COMMIT WORK WRITE WAIT IMMEDIATE;

在此示例中,隐含了WORK关键字,并且省略WRITE子句将缺省为WRITE WAIT IMMEDIATE,因此它与前面的COMMIT语句是等效的。


添加备注

我们来看一个显示如何使用COMMENT子句的COMMIT示例:


例如,您可以通过两种方式使用注释编写COMMIT:


COMMIT COMMENT 'This is the comment for the transaction';

或者 –


COMMIT WORK COMMENT 'This is the comment for the transaction';

由于始终隐含WORK关键字,因此这两个COMMIT示例都是等效的。 如果事务出错或存在疑问,COMMIT会将包含在引号中的注释与事务ID一起存储在DBA_2PC_PENDING系统视图中。


强制最后,看一下显示如何使用FORCE子句的COMMIT示例。


例如,可以通过两种方式编写可疑事务的COMMIT:


COMMIT FORCE '22.14.67';

或者 –


COMMIT WORK FORCE '22.14.67';

由于始终隐含WORK关键字,因此这两个COMMIT示例都会强制执行由事务ID “22.14.67”标识的已损坏或疑问事务。


软件
前端设计
程序设计
Java相关