Oracle期末复习题-带答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle期末复习题

1.简单介绍一下Oracle数据库管理系统

2.举例说明Oracle与SQL Server的异同(至少说出2项以上)

3.简述Oracle数据库的体系结构

4.Oracle数据库的物理文件有哪几类?扩展名分别是什么?分别

存储什么信息?

5.创建一个用户,用户名是student,密码是userkey1,该用户具

有connect、resource角色,同时该用户还可以访问scott用户下的salgrade表。请写出相应的SQL语句。

Create user student identified by userkey1;

Grant connect, resource to student;

Grant select on scott.salgrade to student;

6.在SQL PLUS下,写出用student用户连接数据库的语句。Conn student/userkey1;

7.请举出3个Oracle 12c数据库常用工具。

8.Oracle 12c有哪几个系统内置用户?

9.查看当前连接的用户名字用什么命令?

Show user;

10.断开连接的命令?

Disc;

11.如何用SQL语句创建一个表的副本?比如创建scott用户下emp

表的副本,写出SQL语句。

Create table emp_copy

As

Select * from emp;

12.什么是游标?如何定义一个显式游标?如何读取游标中的数据?

如何关闭游标?

13.如何声明一个变量xs1,它和表XSB的行的类型相同?写出声明

语句。——Declare xs1 xsb%rowtype;

14.列出3个Oracle中常用的DML语句。

15.列出3个Oracle中常用的DDL语句。

综合练习一:

1. 表EMP用来保存员工基本信息,表DEPT用来保存部门信息。写出创建两个表的SQL语句。两个表的结构如下:

2. 向两个表中分别插入如下记录:

3. 对emp表创建名字为idx_depid的索引,索引列是depid。

Create index idx_depid on emp(depid);

4. 查询技术部员工的编号、姓名和工资信息,并按工资降序排列。

Select empid, ename, salary

from EMP inner join DEPT on dept.deptid= EMP.deptid

order by salary desc

5. 查询各部门员工的人数、平均工资和总工资。

Select deptid, dname, count(*), avg(salary), sum(salary)

From dept d join emp e on d.deptid=e.deptid

Group by deptid, dname

6. 查询技术部工资最高的员工的姓名和工资。

Select empname, salary

From emp join dept on emp.deptid=dept.deptid

Where dname= ‘技术部’ and salary=(select max(salary) form emp where deptid=d.deptid))

7. 创建存储过程,修改指定员工的工资(说明:员工号、增加或减少的工资数为输入参数,修改成功返回0,不成功返回1)。

Create procdureusp_change_salary

( ygh IN char ,

Gz in number,

Result out int

)

As

begin

result:=0;

Update emp set salary=salary+gz where empid=ygh;

exception

When no_data_found then result:=1;

endusp_change_salary;

8. 在PL/SQL块中,如何声明一个变量R,它和表KCB的行的类型相同。写出声明语句。declare R KCB%rowtype;

9. 提交事务的语句是什么?

commit;

10. 写出查看系统时间的SQL语句。

Select sysdate() from dual;

11.表quit_emp的结构与emp表的结构相同,存放的是退休员工的信息。创建emp表的删除触发器:当删除emp表中的记录时,将删除的记录添加到quit_emp表中。

create trigger tri_del_emp

after delete on emp for each row

begin

Insert into quit_emp

Select * from deleted

end

综合练习二:

1.有一个网上书店,现在要建两个表,一个是用来保存图书信息,一个用来保存销售信息。

两个表的结构分别如下:

2.在两个表中分别插入如下记录:

3. 完成如下操作:

1)查询有库存(即STOCK>0)的图书目录

2)查询计算机类图书信息

3)查询2016年的销售记录,包含:书号、书名、销售数量、销售金额

4)删除滞销图书(即没有顾客购买的图书)

5)将文学类图书的价格更改为原价格的90%。

6)统计不同类别图书的库存量。

7)查询库存量最大的图书编号和图书名称

4. 创建一个存储过程,修改指定图书的价格,书号、新价格由输入参数传递,修改成功返回0,不成功返回1。

5. 调用上面的存储过程,修改’TP-1001’图书的价格,改为20元

综合练习三:

对scott用户下的表进行的。

1.在emp表中,查询最高的领导者(即MGR为空的记录)。

2.查询有哪些工种(提示:emp表)

3.在emp表中,查询工龄超过25年的员工信息(员工号、姓名、工龄、部门编号)。

4.查询1987年入职的员工信息。

相关文档
最新文档