Oracle期末复习题-带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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年入职的员工信息。