我是靠谱客的博主 烂漫外套,最近开发中收集的这篇文章主要介绍Oracle课后练习-5,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(一)SQL语句

注意!!!先看第三题的题目要求,再按顺序完成!!!

1.将您自己的姓名、当前系统时间作为雇员信息插入到雇员表emp中(雇员编号统一为3020、部门编号为40)。插入后查看emp表以确认是否插入成功!请将运行结果截图。

insert into emp(empno,ename,hiredate,deptno)  
values (3020,’小新’,sysdate,40) 


--创建保存点
savepoint insert1

2.将部门名为OPERATIONS的所有雇员信息删除。删除后查看emp表以确认是否删除成功!请将运行结果截图。

delete from emp where deptno=(  
select deptno from dept where dname='OPERATIONS')

3.做完第一题和第二题后,发现操作失误,需要撤销第二题的操作,请问该怎么操作?撤销后查看emp表以确认是否撤销成功!请将运行结果截图。

--在上面第一题第二题之间创建savepoint保存点
--撤销第二题操作,只需rollback to insert1;
rollback to insert1;

4.将部门名为OPERATIONS的所有雇员的工资都设置为公司所允许的最低工资(可以从salgrade表中获得最低工资)。更新后查看emp表以确认是否修改成功!请将运行结果截图。

update emp set sal=(  
select min(LOSAL) from salgrade )  
where deptno=(  
select deptno from dept where dname='OPERATIONS')

5.再打开一个SQL*PLUS,再次用scott用户登入,查看EMP表,观察此工作区中查到的结果和第四题查到的结果是否一致?请说明原因并将运行结果截图。如何让此工作区能查到第四题修改后的结果?请说明并将运行结果截图。

--不一致,是由于事务未提交,变化未写入数据库。需要将旧窗口进行commit操作
commit;

(二)PL/SQL编程

1.编写一个匿名块,请将运行结果截图。

  A、先把匿名块的结构写出来,如下所示,然后在Declare部分添加变量,在begin和end之间添加程序体:

Declare

……

Begin

……

End;

 B、定义varchar2、date、number类型变量;定义常量PI值为3.14;

 C、分别对这些变量赋值,字符串变量放上自己的名字,时间类型变量放上自己的出生日期,数值类型放上自己的年龄;

 D、在屏幕上输出各变量和常量的值。(时间要求显示的是“年-月-日”的格式)

 E、运行匿名块,查看输出结果是否正确。

--先开启serveroutput
set serveroutput on;


--匿名块
declare  
  v_varchar2 varchar2(20);  
  v_date date;  
  v_number number;  
  c_PI constant number:=3.14;  
begin  
  v_varchar2:='小新';  
  v_date:= to_date('1998-04-04','yyyy-mm-dd');  
  v_number:= 22;  
  dbms_output.put_line('name:' || v_varchar2);  
  dbms_output.put_line('date of birth:' || to_char(v_date,'yyyy"年"-mm"月"-dd"日"') );  
  dbms_output.put_line('age:' || v_number );  
end; 

2.创建一个PL/SQL匿名块,统计雇员表emp的雇员总人数,并将其值显示在屏幕上。显示格式为“雇员总人数为***人”。请将运行结果截图。

declare  
  v_number number;  
begin  
  select count(*) into v_number from emp;  
  dbms_output.put_line('total:' || v_number || 'people');  
end;

3.创建一个PL/SQL匿名块,向雇员表emp插入一条新记录,雇员编号为你的学号最后两位,雇员名为你的名字,其他值为空。(请将运行结果截图)

要求:

(1)字段值都通过变量插入表中,并且使用%type定义变量。

(2)插入后其他会话能看到运行结果。

declare  
  v_empno emp.empno%type;  
  v_name emp.ename%type;  
begin  
  v_empno:=45;  
  v_name:='小新';  
  insert into emp(empno,ename) values(v_empno,v_name);  
  commit;  
end; 

最后

以上就是烂漫外套为你收集整理的Oracle课后练习-5的全部内容,希望文章能够帮你解决Oracle课后练习-5所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部