ORACLE试题01
更新时间:2023-11-26 01:10:01 阅读量: 教育文库 文档下载
ORACLE试题
一、单项选择题(每题2分,共20分)
1、假如不知道该变量的基础数据库列的数据类型,在PL/SQL块中如何定义一个变量?(表名是DBTABLE,列名是COLUMNX)
A、V_X NUMBER; B、V_X VARCHAR2
C、V_X DBTABLE.COLUMNX%TYPE; D、V_X COLUMNX.DBTABLE%TYPE; 2、下列代码中哪一行有错?
A、SELECT DNAME,ENAME B、FROM EMP E , DEPT D
C、WHERE EMP.DEPTNO=DEPT.DEPTNO D、ORDER BY 1,2
3、查询那一个数据字典视图,只能列出用户所拥有的表?
A、ALL_TABLES B、DBA_TABLES C、USER_TABLES D、USR_TABLES 4、在CREATE VIEW命令中哪个子句将阻止通过视图对基表进行更新?
A、WITH CHECK OPTION B、WITH READ ONLY C、WITH NO UPDATE
D、没有这样的选项;假如用户对基表有权限,用户可以更新视图
5、表中的一列具有这样的特性,其值的重复度很高,我们可以使用何种索引?
A、唯一索引 B、组合索引 C、反向建索引 D、位图索引
6、在出错处理部分中需要包含什么子句,以便处理前面没有指定的错误?
A、ELSE
B、WHEN ANYTHING ELSE C、WHEN ANY OTHER D、WHEN OTHERS THEN
7、在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
A、Cycle B、Nocycle C、Cache D、Nocache
8、在PL/SQL中,在执行任何DML语句前,SQL%NOTFOUND的值为()。
A、NOTFOUND B、TRUE C、NULL D、FALSE
9、在Oracle中,PL/SQL块中定义了一个带参数的游标:
1
CURSOR emp_cursor(dnum NUMBER) IS
SELECT sal, comm FROM emp WHERE deptno = dnum; 那么正确打开此游标的语句是()
A、OPEN emp_cursor(20); B、OPEN emp_cursor FOR 20; C、OPEN emp_cursor USING 20;
D、FOR emp_rec IN emp_cursor LOOP … END LOOP; 10、当两位用户中的每一位都对一个单独的对象进行了锁定,而他们又要获取对方对象的锁时,将会发生()。(选择一项) A、 共享锁 B、 死锁 C、 排他锁 D、 以上皆非
二、多项选择题(每题3分,共15分)(多选、少选、选错都不得分)
1、在Oracle中,通过命令()可以释放锁。
A、INSERT B、DELETE C、ROLLBACK D、UNLOCK E、COMMIT
2、PL/SQL块中可以使用下列()命令。
A、TRUNCATE B、DELETE C、SAVEPOINT D、ALTER TABLE
3、使用下列()将 Null 值转换为实际值。
A、NVL B、NVL2 C、NULLIF D、To_number
4、同义词有以下()用途。
A、简化 SQL 语句
B、隐藏对象的名称和所有者 C、提供对对象的公共访问 D、显示对象的名称和所有者
5、选择两个是TRUE的答案:一个变量被定义成%TYPE.
A、假如基表列的数据类型改变了,PL/SQL代码需要改变 B、用户不必了解列的数据类型和小数点精度 C、只有字符变量可以用%TYPE定义 D、用户不必关心列的定义上所作的改变
三、基本操作题(前5道为改错,每题3分)
2
员工信息表[员工号,姓名,性别] T_Worker[WorkerId,name,sex]
员工迟到表[员工号,迟到日期,迟到时长] T_Late[WorkerId,latetime,latelong] 1.在 日期1 (2005-5-1) 到日期2 (2005-5-31) 之间迟到的员工姓名
select name from T_Worker where T_Late.latetime between 2005-5-1 and 2005-5-3
1. select name from T_Worker,T_Late
where T_Worker.WorkerId=T_Late. WorkerId
and T_Late.latetime between ‘2005-5-1’ and ‘2005-5-31’; 评分标准:写连接条件给2分,日期型加引号给1分。
2.查询员工姓名含有’张’的员工信息
select * from T_Worker where name like ‘张’;
.2 select * from T_Worker where name like ‘%张%’; 评分标准:只写一个’%’给1分。
3.更改员工号为00001的员工的姓名为Jack
replace name=Jack from T_Worker where Workerld=00001;
3. update name=’Jack’ from T_Worker where Workerld=’00001’; 评分标准:写update给2分,写引号给1分。
4.迟到两次以上的员工号
select Workerld from T_Late where count(latetime)>2;
4. select Workerld from T_Late group by Workerld having count(latetime)>2; 评分标准:写having子句给1.5分,写group by子句给1.5分。
5.没有迟到的员工信息
select * as join from T_Worker where T_Late.Workerld is null;
5select * from T_Worker where WorkId not in (select WorkId from T_Late); 或:select * from T_Worker where not exists
(select * from T_Late where T_Worker.WorkerId=T_Late. WorkerId); 评分标准:只要能够实现都可得分,改卷老师自己斟酌
6.编写触发器,当删除员工信息时,同时删除对应的迟到记录(PL/SQL实现)(10分)
6. create trigger trig_delworker after delete on T_Worker begin
delete from T_Late where WorkID=:OLD.WorkID; end; /
3
四、上机综合题(共40分)
某数据库有4张表,是关于学生资料、选修课程、系以及选课信息情况的,它们分别是student学生表、dep系表、course课程表、sc选课表,4张表的结构如下:
student (sno学号,sname姓名,sex性别,age年龄,dno系号); dep (dno系号,dname系名,tel电话);
course(cno课程号,cname课程名,credit学分); sc(sno学号,cno课程号,grade成绩); 试用SQL/PLSQL语句完成如下功能:(10分) 1、 建表,在定义中要求声明: (1)、每个表的主外建。
(2)、学生的年龄介于17 到 25 岁之间。 (3)、学生姓名不能为空。
2、以上4张表中插入数据已经完成,试完成以下查询功能(15分)
(1)、查询系名为计算机系的学生信息,要求输出学生的学号、姓名和性别。 (2)、查询各系c01课程号男生、女生的最高成绩和最低成绩。
(3)、查询各系年龄最小的同学名单,输出学生姓名、年龄及所在系的系号。
3、创建一个用户函数,其功能是指定一个学号,函数返回该学生目前已获得的学分(选课并考试通过方可得到学分)。如果该生没有选课(选课表中没有该学号),函数返回-1;请填写部分代码(PL/SQL)(15分)
上机综合题答案:
1.评分标准:基本建表语句3分,完整定义各表主外键得3分,学生年龄的检查约束2分、学生姓名非空(not null)1分,表定义的顺序(考虑主外键关系,dep要先于student,sc要后于student、course)1分
2.(1)select sno, sname, sex from student,dep
where student.dno = dep.dno and dname=’计算机系’; 评分标准:连接条件3分,其他酌情。 (2)select dno,sex,max(grade),min(grade)
from sc,student
where sc.sno=student.sno and sc.cno='c01' group by dno,sex;
评分标准:group by子句3分,连接条件1分,聚合函数1分。 (3)select sname, age, student.dno from student,
(select dno,min(age) as minage from student group by dno) T where age=minage and student.dno=T.dno;
评分标准:自查询4分,连接1分。其它实现方式酌情得分。 3. create or replace function fun_course(sno1 sc.sno%type) return number as
amount integer; score number(6,2);
4
begin
select count(*) into amount from sc where sno=sno1; if (amount=0) then return -1;
select sum(credit,0) into score
from sc join course on sc.sno=course.sno and sc.sno=sno1 and grade>=60 group by sc.sno; return score; end; /
评分标准:能写出函数定义框架可得3分,有return子句可得2分,求学生所得学分的SQL语句5分,其它5分酌情。
5
正在阅读:
ORACLE试题0111-26
C_C多层类金刚石薄膜的热稳定性研究05-18
某某小学精细化管理阶段汇报材料06-14
企业员工工作总结【精彩6篇】03-26
值得深思的一段话11-23
assert03-15
北京石景山2012年语文初三第一次统一练习暨毕业考试05-25
妇产科试题库09-16
2022年幼儿园园长证单选题练习题04-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 试题
- ORACLE
- 分数、百分数应用题 - 六年级数学教案 - 模板
- 生产系统仿真实验报告
- 2003年张剑黄皮书考研英语真题及解析
- 化纤基础知识和加弹工艺知识
- Windows下TCAD2012安装说明 - 图文
- 关于建国60周年庆典活动医疗卫生救援应急预案
- 选择清华园 圆你名校梦
- 生理学教学大纲-南京医科大学
- 测试技术实验报告 - 图文
- 呈贡育才学校第五周周清数学试卷
- 中国石油大学数据库原理及应用-第一次在线作业
- 内分泌科学试卷及答案9
- 学前教育教师资格证考试(幼儿文学)
- 智慧故事作文有效性研究
- 15春地大《概率论与数理统计》在线作业
- 激发学生学习兴趣积极主动参与体育锻炼
- 浅析如何在大学英语听力教学中培养学生的自信
- 环保能源有限公司危废(飞灰)事故应急预案 - 图文
- 团市委领导团代会讲话稿
- 城市轨道交通客运组织期末复习