码迷,mamicode.com
首页 > 数据库 > 详细

Oracle操作语句--增加/删除

时间:2019-11-09 14:09:39      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:sel   back   退出   节点   语句   sele   into   rom   poi   

1.删除1980年雇员的雇员信息;

delete  from myemp

where     hiredate between to_date(‘1980-1-1‘,‘yyyy-mm-dd‘)

      and to_date(‘1980-12-31‘,‘yyyy-mm-dd‘) ;

执行上述语句后其实还没有真正意义上的更新,必须执行下面的语句才会彻底删除,否则其他session会话查询的时候,1980年的员工信息还依然存在。但是当你退出之后Oracle会自动commit的。

      COMMIT WORK;

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

2、事务操作命令

S1:SCOTT用户分别登录两个SQL PLUS窗口是session1和session2;

 

 

S2:窗口session1和session2分别查看myemp数据表信息;

 

S3:窗口session1,执行语句:

INSERT

INTO myemp(empno,ename,hiredate, job, sal)

VALUES(1234,‘李兴华‘,to_date(‘1989-09-19‘,‘yyyy-mm-dd‘),‘MANAGER‘,3000);

 

UPDATE MYEMP

SET SAL=5000 WHERE EMPNO=1234;

 

SAVEPOINT SP_A;

 

SELECT count(*) FROM myemp;

结果:

技术图片

 

 

切换窗口session2,执行语句:

SELECT count(*) FROM myemp;

结果:

 技术图片

 

 

S4:窗口session1,执行语句:

INSERT

 INTO myemp(empno,ename,hiredate, job, sal)

 VALUES(5678,‘董鸣楠‘,to_date(‘2003-07-27‘,‘yyyy-mm-dd‘), ‘HR‘,2000);

 

UPDATE myemp

SET job=‘CEO‘ WHERE empno=5678;

 

SAVEPOINT SP_B;

 

SELECT count(*) FROM myemp;

结果:

技术图片

 

 

切换窗口session2,执行语句:

SELECT count(*) FROM myemp;

结果:

技术图片

 

 

S5:窗口session1,执行语句:

DELETE FROM myemp;

SELECT count(*) FROM myemp;

结果:

技术图片

 

 

切换窗口session2,执行语句:

SELECT count(*) FROM myemp;

结果:

 

S6:窗口session1,执行语句:

S6:窗口session1,执行语句:技术图片

--使用回滚到节点sp_B
ROLLBACK  TO SP_B;
SELECT count(*) FROM myemp;

技术图片

 

 

ROLLBACK TO SP_A;

SELECT count(*) FROM myemp;

技术图片

 

 

ROLLBACK;

SELECT count(*) FROM myemp

技术图片

 

 

S7:窗口session1,执行语句:

INSERT

 INTO myemp(empno,ename,hiredate, job, sal)

 VALUES(5678,‘董鸣楠‘,to_date(‘2003-07-27‘,‘yyyy-mm-dd‘), ‘HR‘,2000);

 

UPDATE myemp

SET job=‘CEO‘ WHERE empno=5678;

 

COMMIT;

 

SELECT count(*) FROM myemp;

结果:

 技术图片

 

 

切换窗口session2,执行语句:

SELECT count(*) FROM myemp;

结果:

技术图片

 

---上述主要实验的目的是想让读者明白设置保存节点,与事件回滚的用法,还有就是使用删除语句和插入语句必须使用commit语句,不然只是视图显示出来你要的结果而已,其它session会话看不见操作,虽然退出Oracle后他会自动commit,但是保险起见还是commit,其他session在同一时间登录的才可以看到更新操作。

 

 

 

 

 

 

 

Oracle操作语句--增加/删除

标签:sel   back   退出   节点   语句   sele   into   rom   poi   

原文地址:https://www.cnblogs.com/hmy-666/p/11824982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!