肥宅兜

导航

更新及事务处理

 

范例1复制emp表 —— 新的表名称为myemp

CREATE TABLE myemp AS SELECT * FROM emp ;

 

范例2查看c##scott用户的全部表

SELECT * FROM tab ;

 

范例3查询myemp表中是否存在数据

SELECT * FROM myemp ;

 

范例4myemp数据表之中增加一条新的数据

INSERT INTO myemp(empno,job,hiredate,ename,mgr,sal,comm,deptno)

    VALUES (8888,'CLERK',SYSDATE,'李兴华',7369,800,100,20);

INSERT INTO myemp VALUES (8899,'魔乐科技','MANAGER',7369,TO_DATE('1981-09-19','yyyy-mm-dd'),1000,100,20);

 

范例5查询myemp表中的全部记录

SELECT * FROM myemp ;

 

范例6增加一个没有领导、没有部门、没有奖金的新雇员

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

    VALUES (6612,'李楠','CLERK',TO_DATE('1989-09-19','yyyy-mm-dd'),600);

INSERT INTO myemp VALUES (6616,'李楠','CLERK',null,TO_DATE('1989-09-19','yyyy-mm-dd'),600,null,null);

 

范例7查询myemp表中是否存在编号为66126616的信息

SELECT * FROM myemp WHERE empno IN(6612,6616) ;

 

范例8通过子查询增加myemp表数据

INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) SELECT * FROM emp WHERE deptno=20 ;

INSERT INTO myemp SELECT * FROM emp WHERE deptno=10 ;

 

范例9查询myemp表中的数据 

SELECT * FROM myemp ;

 

范例10SMITH(雇员编号为7369)的工资修改为3000元,并且每个月有500元的奖金

UPDATE myemp SET sal=3000,comm=500 WHERE empno=7369 ;

 

范例11查询SMITH的完整信息

SELECT * FROM myemp WHERE empno=7369 ;

 

范例12将工资低于公司平均薪金的雇员的基本工资上涨20%

UPDATE myemp SET sal=sal*1.2

WHERE sal<(

  SELECT AVG(sal) FROM myemp) ;

 

范例13一次性上涨公司全部雇员的基本工资,每个雇员的基本工资上涨10%

UPDATE myemp SET sal=sal*1.1 ;

 

范例14将雇员7369的职位、基本工资、雇佣日期更新为与7839相同的信息

UPDATE myemp SET(job,sal,hiredate)=(

    SELECT job,sal,hiredate

    FROM myemp

    WHERE empno=7839)

WHERE empno=7369 ;

 

范例15查询更新之后的73697839的雇员完整信息

SELECT * FROM myemp WHERE empno IN (7369,7839) ;

 

范例16删除雇员编号是7566的雇员信息

DELETE FROM myemp WHERE empno=7566 ;

 

范例17验证7566雇员的信息是否还存在

SELECT * FROM myemp WHERE empno=7566 ;

 

范例18删除30部门内的所有雇员

DELETE FROM myemp WHERE deptno=30 ;

 

范例19查询30部门是否还存在雇员

SELECT * FROM myemp WHERE deptno=30 ;

 

范例20删除雇员编号为736975667788的雇员信息

DELETE FROM myemp WHERE empno IN (7369,7566,7788) ;

 

范例21删除所有在1987年雇佣的雇员

DELETE FROM myemp WHERE TO_CHAR(hiredate,'yyyy')='1987' ;

 

范例22删除公司工资最高的雇员

DELETE FROM myemp WHERE sal=(

SELECT MAX(sal) FROM myemp) ;

 

范例23查询myemp表中的全部数据

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例24第一个sqlplus窗口执行以下的数据库更新操作

DELETE FROM myemp WHERE MONTHS_BETWEEN(sysdate,hiredate)/12>32 ;

 

范例25第一个sqlplus窗口执行以下的数据库查询操作

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例26第二个sqlplus窗口执行以下的数据库查询操作

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例27在第一个sqlplus窗口中使用ROLLBACK回滚事务

ROLLBACK ;

 

范例28当事务回滚完成之后,再次查询myemp表中的相关数据

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例29删除myemp表中的数据同时提交事务

DELETE FROM myemp WHERE MONTHS_BETWEEN(sysdate,hiredate)/12>32 ;

COMMIT ;

 

范例30通过第二个sqlplus窗口查看删除后的myemp表内容

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例32查询现在myemp表中的数据

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例33回滚到保存点

ROLLBACK TO sp_b ;

 

范例34查看回滚到sp_b存储点之后的数据表内容

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例35回滚到保存点

ROLLBACK TO sp_a ;

 

范例36查看回滚到sp_b存储点之后的数据表内容

SELECT empno,ename,hiredate,job,sal FROM myemp ;

 

范例37将事务设置成自动提交

SET AUTOCOMMIT ON ;

 

范例38插入新的记录

INSERT INTO myemp(empno,ename,hiredate,job,sal) VALUES (8888,'王月清',TO_DATE('2003-09-27','yyyy-mm-dd'),'总裁',8000) ;

 

范例39第一个SESSIONc##scott/tiger连接)执行以下操作。

SELECT * FROM myemp WHERE deptno=10 FOR UPDATE ;

 

范例40第二个SESSIONc##scott/tiger连接)执行同样的操作。

SELECT * FROM myemp WHERE deptno=10 FOR UPDATE ;

 

范例41第一个session更新雇员编号是7369雇员的工资

UPDATE myemp SET sal=5600 WHERE empno=7369 ;

 

范例42第二个session更新雇员编号是7369雇员工作

UPDATE myemp SET job='MANAGER' WHERE empno=7369 ;

 

范例43在第一个SESSION上针对于emp表使用共享锁

LOCK TABLE myemp IN SHARE MODE NOWAIT ;

 

范例44第二个SESSION删除emp表全部数据

DELETE FROM myemp ;

 

范例45第一个SESSIONc##scott/tiger连接)执行以下操作。

SELECT * FROM myemp WHERE deptno=10 FOR UPDATE ;

 

范例46第二个SESSIONc##scott/tiger连接)执行同样的操作。

SELECT * FROM myemp WHERE deptno=10 FOR UPDATE ;

 

范例47查看数据库中的锁定情况

SELECT session_id,oracle_username,process from v$locked_object ;

 

范例48查询v$session数据字典

SELECT sid,serial#,username,lockwait,status FROM v$session where sid IN (125,241) ;

 

范例49解除死锁

ALTER SYSTEM KILL SESSION '125,711' ;

posted on 2016-08-24 17:00  肥宅兜  阅读(373)  评论(0编辑  收藏  举报