2023-01-10 13:39阅读: 1220评论: 0推荐: 0

Oracle sqlplus参数autocommit(自动提交)的设置

概述

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在Oracle数据库中,在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。因为Oracle数据库的默认事务隔离级别是提交读(Read Committed)。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。

事务提交类型

(1) 显式提交

用COMMIT命令直接完成的提交为显式提交。其格式为:

SQL>COMMIT;

(2) 隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROPEXITGRANT,NOAUDIT,QUIT,REVOKE,RENAME。

(3) 自动提交

若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:

SQL>SET AUTOCOMMIT ON;

注意事项

1、需要注意的是,无论AUTOCOMMIT设置为何值,当退出SQL*Plus时,当前会话所有的DML操作所改变的数据都会被提交

2、参数选项设置

复制代码
SYS@PROD1> set auto  

SP2-0281: autocommit missing set option

Usage: SET AUTO[COMMIT] { OFF | ON | IMM[EDIATE] | n }

SYS@PROD1> show auto

autocommit OFF

SCOTT@PROD1>  set autocommit on

SCOTT@PROD1> show autocommit

autocommit IMMEDIATE
复制代码
OFF为默认值,表示关闭自动提交;ON和IMM都表示打开自动提交,二者没有区别;n表示成功执行n条DML操作后再自动提交。n不能小于0,也不能大于20亿(2,000,000,000)。注意,这里不是一个DML语句所影响的行数,而是DML语句的个数。
posted @   雪竹子  阅读(1220)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起