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操作语句--增加/删除的更多相关文章

  1. 常用Oracle操作语句

    --常用的字段类型有:varchar2,char,nchar,date,long,number,float,BLOB,CLOB --添加表字段 ); --修改表字段 ); --删除表字段 alter ...

  2. oracle操作语句

    Oracle中建立索引,会提高查询速度: create index 索引名 on 表名(列名); create index index_userid on tbl_detail(userid);如何找 ...

  3. MySQL数据库(3)_MySQL数据库表记录操作语句

    附: MYSQL5.7版本sql_mode=only_full_group_by问题 .查询当前sql_mode: select @@sql_mode .查询出来的值为: set @@sql_mode ...

  4. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  5. Oracle 操作数据库(增删改语句)

    对数据库的操作除了查询,还包括插入.更新和删除等数据操作.后3种数据操作使用的 SQL 语言也称为数据操纵语言(DML). 一.插入数据(insert 语句) 插入数据就是将数据记录添加到已经存在的数 ...

  6. 在Javascript操作JSON对象,增加 删除 修改

    在Javascript操作JSON对象,增加删除修改全有的,详情见代码 <script type="text/javascript"> var jsonObj2 = { ...

  7. ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇)

    ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(删除篇) 本文主要转载 [  http://www.cnxdug.org/?p=2511 ] 有部分细节自己实验添加,再此谢谢前辈. ...

  8. Sqlserver2012 使用sql语句增加(或删除)表一个字段

    前言 Mark在SqlServer 2012 的数据库使用sql语句增加(或删除)一张表的一个字段. 使用Sql语句增加表的一个字段 [1]语法: alter table table_name add ...

  9. (转帖)oracle sql 语句优化

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

随机推荐

  1. Head First设计模式——组合模式

    最近比较忙,有段时间没有更新设计模式的进度了.今天继续学习组合设计模式. 组合模式的例子我们继续延续上篇<Head First设计模式——迭代器模式>的菜单例子,首先声明下迭代器和组合模式 ...

  2. 「UVA10810」Ultra-QuickSort 解题报告

    题面 看不懂?! 大概的意思就是: 给出一个长度为n的序列,然后每次只能交换相邻的两个数,问最小需要几次使序列严格上升 不断读入n,直到n=0结束 思路: 交换相邻的两个数,这不就类似冒泡排序吗?但是 ...

  3. js菜单栏切换

    先来看看需要实现的需求: 这是某购物网站上经常看到的效果 我们把网页的模型抽象出来,下面是我实现的效果图: 源代码仅供大家参考,具体如下: <!DOCTYPE html> <html ...

  4. 快速部署postfix邮件服务器

    • 装包.配置.起服务– 默认的标准配置即可为本机提供发/收邮件服务– 若有必要,可扩大服务范围(邮件域) 前提:邮件服务器,必须为手工配置永久主机名虚拟机server0[root@server0 ~ ...

  5. C++中重载、重写(覆盖)和隐藏的区别

    转载自:https://blog.csdn.net/zx3517288/article/details/48976097 基本概念: 重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个 ...

  6. oracle mysql sql 根据一张表更新另一张表

    update CDINFO.Dept_Dict tab1 set PART_FLAG = (select PART_FLAG from DICT.DEPARTMENT_DICT@zyhis4 tab2 ...

  7. npm安装报错npm ERR! Refusing to install package with name "xxxx" under a packagexxxx

    npm ERR! code ENOSELF npm ERR! Refusing to install package with name "webpack" under a pac ...

  8. linux下卸载旧版本cmake安装新版本cmake

    1.看当前cmake版本 cmake --version 2.卸载旧版本下的cmake apt-get autoremove cmake 3.安装新版面cmake http://www.cnblogs ...

  9. redis订阅发布简单实现

    适用场景 业务流程遇到大量异步操作,并且业务不是很复杂 业务的健壮型要求不高 对即时场景要求不高 原理介绍 redis官网文档:https://redis.io/topics/notification ...

  10. sql server 新建用户 18456

    麻辣各级,今天阴沟里翻船 了,自己在家创建sqlserver新的用户名,一直报错  18456 邮件添加用户名这一套下来是没错. 重要是这样===>要重新启动一下sql server,就ok了. ...