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

Posted 兜里还剩五块出头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle操作语句--增加/删除相关的知识,希望对你有一定的参考价值。

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操作语句--增加/删除的主要内容,如果未能解决你的问题,请参考以下文章

Oracle创建分区表操作

Oracle 列操作(增加列,修改列,删除列)

oracle中怎么获得sql语句的错误信息

Oracle_查询语句

Oracle 数据库常用操作语句大全

数据库表如何增加字段?