orcl 事务与事务控制

来源:互联网 发布:osek网络管理有什么用 编辑:程序博客网 时间:2024/05/16 07:35
事务与事务控制
问题1
insert into dept values (50,'software','beijing');


insert into dept values  (60,'ABC','shanghai');


问题2
insert into dept values(50,'software','beijing');
Commit;  


commit:提交


insert into dept values(60,'ABC','shanghai');
 
问题3
insert into dept values   //将次信息插入表中
(50,'software','beijing');
-----------------------------
update dept set loc='shanghai' //更新deptno = 50 的loc 这项
where deptno = 50;
----------------------------------
create table lw(a number(1),bvarchr2(6));//创建表 lw
--------------------------------------------
intsert into dept values
(60,'ABC',‘shanghai');   //将此信息插入dept表中




事务:一组操作序列,有一条或多条SQL语句组成,所有操作要么都执行要么都不执行。


Oracle没有开始事务语句,当下列操作发生时,事务自动开始。
1.链接到数据库,病开始执行第一条DML语句。


2.前一事务结束或执行一条自动提交事务的语句。
  下一事务自动开始。


下列操作发生,事务结束:
1.执行一条commit或rollback语句
2.执行一条会自动提交的语句。




自动提交事务


执行一条DDL语句(createv、alter、drop)。
执行一条DCL语句(grant、revoke)。


断开数据库链接(disconnect,在同一个sqlplus中执行connect启动另一个会话,exit
命令退出sqlplus)。
set autocommit on/off。


insert into dept values(50,'software','beijign');


update dept set loc='shanghai'
where deptno = 40;


commit;


insert into dept values
(60,'abc','shanghai');


提交事务


将该事务对数据库所做的操作全部保存到操作系统文件中
Commit


回退事务


将该事务对数据库所做全部会退到上一个提交成功后的状态
Rollback


设置保存点
在事务中添加中间标志,将一个大事务划分成几个部分,可以讲事务回退到指定的保存点,
而不必回退所有操作
Savepnint 保存点名


回退部分事务


将事务回退到保存点,保留保存点之前的更改,用户可以继续当前的事务


Rollback to savepoint 保存点名


insert into dept values
(50,'software','beijign');
Update dept set loc = 'shanghai'
where deptno = 50;


savepont aa;


insert into dept values
(60,'ABC','shanghai'J);






--rollback to savepointaa;
0 0
原创粉丝点击