oracel综合测试.docx
《oracel综合测试.docx》由会员分享,可在线阅读,更多相关《oracel综合测试.docx(28页珍藏版)》请在冰点文库上搜索。
oracel综合测试
ORACLE综合测试
一:
选择题
1.你判断下面语句,有什么作用?
(选择1项)
GRANTupdateONinventoryTOjoeWITHGRANTOPTION;
A.一个系统权限被授予用户JOE
B.一个对象权限被授予用户JOE
C.用户JOE被授予在这个对象上的所有权限
D.一个系统权限和一个对象权限被授予用户JOE
2.表(PERSONNEL)包含以下列:
(选择1项)
IDNUMBER(9)
LAST_NAMEVARCHAR2(25)
FIRST_NAMEVARCHAR2(25)
MANAGER_IDNUMBER(9)
假设:
部门经理是一名职员,判断下面两个语句执行结果有何不同:
SELECTp.last_name,p.first_name,m.last_name,m.first_nameFROMpersonnelp,personnelmWHEREm.id=p.manager_id;
SELECTp.last_name,p.first_name,m.last_name,m.first_nameFROMpersonnelp,personnelmWHEREm.manager_id=p.id;
A.其中一个语句不能执行
B.其中一个语句不是自连接
C.结果相同,显示顺序不同
D.结果不同,显示相同
3.哪一子句可实现SELECT语句查询单价小于5.00的ID_NUMBER?
(选择1项)
A.WHEREprice<5.00
B.HAVINGprice<5.00
C.ORDERBYprice<5.00
D.GROUPBYprice<5.00
4.判断下面句子:
(选择1项)
SELECTi.id_number,m.id_numberFROMinventoryi,manufacturerm
WHEREi.manufacturer_id=m.id_numberORDERBY1;
哪一子句可以防止表INVENTORY和表MANUFACTURER发生完整外部联接?
A.ORDERBY1;
B.SELECTi.id_number,m.id_number
FROMinventoryI,manufacturerm
C.WHEREi.manufacturer_id=m.id_number
D.以上都不对
5.判断这PL/SQL代码块:
(选择1项)
BEGIN
FORiIN1..6LOOP
IFi=2ORi=3THEN
null;
ELSE
INSERTINTOexample(one)
VALUES(i);
ENDIF;
ROLLBACK;
ENDLOOP;
COMMIT;
END;
有多少行被插入到表EXAMPLE?
A.0
B.1
C.2
D.3
6.你关闭表INVENTORY上的ID列上的主键约束,且修改表INVENTORY上的所有值后,你需要激活约束并校验列值是否违反约束。
如果ID值不符合约束,错误信息将返回,判断下面命令:
(选择1项)
ALTERTABLEinventoryENABLECONSTRAINTinventory_id_pk;
哪种说法正确?
A.将得到想要的结果.
B.语句执行,但不能激活约束.
C.语句执行,但不能校验ID是否违反约束.
C.将返回语法错误.
7.表CLASSES和表SCHEDULE结构如下:
CLASSES:
IDNUMBER(9)
CLASS_NAMEVARCHAR2(20)
TEACHER_IDNUMBER(9)
SCHEDULE:
CLASS_TIMEDATE
CLASS_IDNUMBER(9)
你建一个视图显示每一课的课名、课时,并按教师ID排序,判断下面语句将返回何种结果?
(选择1项)
CREATEVIEWclass_scheduleAS
SELECTC.class_name,s.class_timeFROMclassesc,schedulesWHEREC.id=s.class_id;
A.语句创建视图CLASS_SCHEDULE且可产生预期结果.
B.语句创建视图CLASS_SCHEDULE但不能产生预期结果.
C.语法错误,因为视图不可基于连接查询.
D.语法错,因为语句未包含ORDERBY子句.
8.判断是否同时满足两个条件,应该用下面哪个操作符?
(选择1项)
A.OR
B.NOT
C.AND
D.None
9.哪一个算术运算将返回一个数值?
(选择1项)
A.'01-FEB-1998'+25
B.'03-DEC-1997'-30
C.'07-JUL-1997'+(480/24)
D.TO_DATE('01-JAN-1998')-TO_DATE('01-DEC-1996')
10.哪句可以实现用户Marilyn的表INVENTORY不用指定其属主,直接供所有用户引用?
(选择1项)
A.CREATESYNONYMinventoryFORinventory;
B.CREATEPUBLICSYNONYMinventoryFORmarilyn;
C.CREATEPUBLICSYNONYMinventoryFORmarilyn.inventory;
D.CREATEPUBLICinventorySYNONYMFORmarilyn.inventory;
11.在一个PL/SQLIF-THEN语句中,什么值将引起条件语句执行?
(选择1项)
A.NULL
B.TRUE
C.FALSE
D.以上都不对
12.哪句可以实现显示id和description,条件满足订单时间在January1,1997以前的,且单价小于1.00或者大于5.00的,结果用订单时间降序排列。
(选择1项)
A.SELECTid_number,descriptionFROMinventory
WHEREpriceIN(1.00,5.00)ORorder_date<'01-JAN-97'
ORDERBYorder_dateDESC;
B.SELECTid_number,descriptionFROMinventory
WHEREpriceBETWEEN1.00AND5.00ORorder_date<'01-JAN-1997'
ORDERBYorder_date;
C.SELECTid_number,descriptionFROMinventory
WHEREprice<1.00ORprice>5.00ANDorder_date<'01-Jan-97'
ORDERBYorder_dateASC;
D.SELECTid_number,descriptionFROMinventory
WHERE(price<1.00ORprice>5.00)ANDorder_date<'01-JAN-1997'
ORDERBYorder_dateDESC;
13.哪一个命令允许你直接修改一个已存在的视图?
(选择1项)
A.ALTER
B.CREATE
C.MODIFY
D.CREATEORREPLACE
14.哪一语句可实现增加表employee的列NAME的长度到25?
(选择1项)
A.ALTERTABLEemployeeMODIFYnameVARCHAR2(25);
B.ALTERTABLEemployeeRENAMEnameVARCHAR2(25);
C.ALTERemployeeTABLEMODIFYCOLUMNnameVARCHAR2(25);
D.ALTERemployeeTABLEMODIFYCOLUMN(nameVARCHAR2(25));
15、游标的哪一种属性指示fetch语句是否从活动集中返回行,如未能返回行,则此属性的值为false?
(选择1项)
A)%FOUND
B)%NOTFOUND
C)%ROWCOUNT
D)%ISOPEN
16.判断下面句子,将返回什么值?
(选择1项)
SELECTid_number,description,priceFROMinventory
WHEREmanufacturer_idIN(SELECTmanufacturer_idFROMinventoryWHEREprice>8.00ORquantity>1000);
A.返回单价大于8.00且数量大于1000的存货的货号、种类、单价信息
B.返回单价大于8.00或者数量大于1000的存货的货号、种类、单价信息.
C.返回单价大于8.00或者数量大于1000且有制造商号的存货的货号、种类、单价信息.
D.返回单价大于8.00或者数量大于1000的制造商的所有存货的货号、种类、单价信息.
17.判断IF语句:
IFv_num>1THEN
v_example:
=1;
ELSIFv_num>5THEN
v_example:
=2;
ELSIFv_num<10THEN
v_example:
=3;
ELSIFv_num<29THEN
v_example:
=4;
ELSEv_example:
=5;
ENDIF;
如果V_NUM是6,什么值将被赋值给V_EXAMPLE?
(选择1项)
A.1
B.2
C.3
D.4
18.哪一个是SQL*Plus命令?
(选择1项)
A.UPDATE
B.PROMPT
C.SELECT
D.ALTERTABLE
19、下列哪个集合操作符返回两个查询都有的行。
(选择1项)
A)Union
B)Unionall
C)Uniononly
D)Intersect
20.判断下面不完整的loop语句:
LOOP
INSERTINTOinventory(id_number,description)
VALUES(v_id_number,v_description);
v_counter:
=v_counter+1;
哪条命令应被加入,为了有条件的停止loop执行?
(选择1项)
A.END
B.EXIT
C.ENDLOOP
D.EXITWHEN
21.在PL/SQL块的哪部分可以对初始变量赋予新值?
(选择1项)
A.结尾部分
B.开头部分
C.执行部分
D.声明部分
23.数据字典视图USER_TABLES和ALL_TABLES有什么不同?
(选择1项)
A.ALL_TABLES只显示用户拥有的表.
B.USER_TABLES只显示用户拥有的表.
C.ALL_TABLES只显示用户拥有查询权限的表.
D.USER_TABLES显示用户拥有查询权限的所有表.
24.哪一句可列出表PARTS_VU的结构?
(选择1项)
A.DESCRIBEparts_vu
B.DESCRIBEuser_views
C.SELECT*FROMuser_viewsWHERElower(view)=parts_vu;
D.SELECT*FROMuser_objectsWHERElower(user_view)=parts_vu;
25、在执行循环之前迭代次数是已知的,则最好使用下列的哪种循环?
(选择1项)
A)while
B)do
C)loop
D)for
26.考虑下列声明,那些是不合法的:
(选择3项)
A.DECLAREv_name,v_deptVARCHAR2(14);
B.DECLAREv_testNUMBER(5);
C.DECLAREV_MAXSALARYNUMBER(7,2)=5000;
D.DECLAREV_JOINDATEBOOLEAN:
=SYSDATE;
27.EMPLOYEES表如下:
LAST_NAMEDEPARTMENT_IDSALARY
Getz103000
Davis201500
King202200
Davis305000…
请根据表判断以下哪些SQL语句正确:
(选择1项)
A.SELECT*FROMemployees
WHEREsalary>(SELECTMIN(salary)FROMemployeesGROUPBYdepartment_id);
B.SELECT*FROMemployees
WHEREsalary=(SELECTAVG(salary)FROMemployeesGROUPBYdepartment_id);
C.SELECTDISTINCTdepartment_idFROMemployees
WHEREsalary>ANY(SELECTAVG(salary)FROMemployeesGROUPBYdepartment_id);
D.SELECTdepartment_idFROMemployees
WHEREsalary>ALL(SELECTAVG(salary)FROMemployeesGROUPBYAVG(salary));
28.EMPLOYEES表结构如下:
EMPLOYEE_IDNUMBERNOTNULL,PRIMARYKEY
LAST_NAMEVARCHAR2(30)
FIRST_NAMEVARCHAR2(30)
JOB_IDNUMBER
SALNUMBER
MGR_ID字段的数据类型为NUMBER,参照EMPLOYEE_ID列和DEPARTMENT_ID列(NUMBER)。
现在需要在FIRST_NAME和LAST_NMAE字段上建立名为NAME_IDX的索引,下列哪个SQL语句能执行这项任务:
(选择1项)
A.CREATEINDEXNAME_IDX(first_name,last_name);
B.CREATEINDEXNAME_IDX(first_nameANDlast_name);
C.CREATEINDEXNAME_IDXONemployees(first_name,last_name);
D.CREATEINDEXNAME_IDXFORemployees(first_name,last_name);
29.Oracle会为下列哪些约束自动建立索引:
(选择1项)
A.Check
B.Unique
C.Primarykey
D.Foreignkey
30.定义游标如下:
DECLARE
CURSORquery_cursor(v_salary)IS
SELECTlast_name,salary,dept_no
FROMemployee
WHEREsalary>v_salary;
这条语句为什么会错误?
(选择1项)
A.在游标定义中不允许出现where子句
B.select语句中缺少into子句
C.参数未指定为标量数据类型
D.定义cursor的语法写错了
31.检查下列代码:
CREATEORREPLACETRIGGERupdate_emp
AFTERUPDATEONemp
BEGIN
INSERTINTOaudit_table(who,audited)
VALUES(USER,SYSDATE);
END;
你对EMP表执行了一条Update语句,影响10行数据,那么将会在AUDIT_TABLE中增加多少行数据?
(选择1项)
A.1
B.10
C.没有
D.和EMP表中已有的数据行数一致
32.创建存储过程中,局部变量应放在下列哪个关键字之后:
(选择1项)
A.IS
B.BEGIN
C.DECLARED
D.PROCEDURE
33.定义存储过程如下:
CREATEORREPLACEPROCEDUREINSERTTEAM
(V_IDinNUMBER,V_CITYinVARCHER2DEFAULT'AUSTIN',V_NAME
inVARCHER2)
IS
BEGIN
INSERTINTOTEAM(id,city,name)
VALUES(v_id,v_city,v_name);
COMMIT;
END;
以下哪些PL/SQL语句能够正确调用该过程?
(选择2项)
A.EXECUTEINSERT_TEAM;
B.EXECUTEINSERT_TEAM(V_NAME=.>"LONGHORNS");
C.EXECUTEINSERT_TEAM(3,V_CITY=>"AUSTIN");
D.EXECUTEINSERT_TEAM(3,"AUSTIN","LONGHORNS")
34.考察下面的函数:
CREATEORREPLACEFUNCTIONCALC_PLAYER_AVG
(V_IDINPLAYER_BAT_STAT.PLAYER_ID%TYPE)
RETURNNUMBER
IS
V_AVGNUMBER;
BEGIN
SELECTHITS/AT_BATS
INTOV_AVG
FROMPLAYER_BAT_STAT
WHEREPLAYER_ID=V_ID;
RETURN(V_AVG);
END;
下列哪条语句可以成功调用函数:
(选择1项)
A.SELECTCALC_PLAYER_AVG(PLAYER_ID)
FROMPLAYER_BAT_STAT;
B.EXECUTECALC_PLAYER_AVG(31);
C.CALC_PLAYER(‘RUTH’);
D.CALC_PLAYER_AVG(31);
36.检查此包的定义:
CREATEORREPLACEPACKAGECOMPILE_THIS
IS
G_VALUEVARCHAR2(100);
PROCEDUREA;
PROCEDUREB;
ENDCOMPILE_THIS;
/
CREATEORREPLACEPACKAGEBODYCOMPILE_THIS
IS
PROCEDUREA
IS
BEGIN
G_VALUE:
=(‘HELLOWORLD’);
ENDA;
PROCEDUREB
IS
BEGIN
C;
DBMS_OUTPUT.PUT_LINE(‘PROCEDUREBCALLINGC’);
ENDB;
PROCEDUREC
IS
BEGIN
B;
DBMS_OUTPUT.PUT_LINE(‘PROCEDURECCALLINGB’);
END;
ENDCOMILE_THIS;
/
在编译包时,以下叙述哪项是正确的:
(选择1项)
A.输出ProcedureBcallingC
B.输出ProcedureCcallingB
C.出现编译错误,因为C需要前项声明
D.出现编译错误,因为B需要前项声明
37.存储过程定义如下:
CREATEORREPLACEPROCEDUREDELETE_PLAYER
(V_IDINNUMBER)
IS
BEGIN
DELETEFROMPLAYER
WHEREV_ID=31;
EXCEPTION
WHENSTATS_EXIST_EXCEPTION
THENDBMS_OUTPUT.PUT_LINE
('can'tdeletethisplayer,childrecordsexistin
PLAYER_BAT_STATtable');
END;
为什么该过程编译出错?
(选择1项)
A.在STATA_EXIST_EXCEPTION后没有打逗号
B.STATS_EXIST_EXCEPTION没有声明为NUMBER类型
C.STATS_EXIST_EXCEPTION没有声明为exception类型
D.在EXCEPTION区只允许使用预定义异常
38.下列哪些叙述是正确的:
(选择2项)
A.函数必须有返回值
B.过程必须有返回值
C.函数作为PL/SQL语句执行
D.函数可以作为表达式的一部分执行
39.以下的哪些语句中允许调用自定义函数:
(选择1项)
A.NEXTVAL
B.SELECT命令中的HAVING子句
C.ALTERTABLE命令
D.SELECT命令或UPDATE命令中的FROM子句
41.表(TEACHER)包含以下列:
IDNUMBER(7)PK
SALARYNUMBER(7,2)
SUBJECT_IDNUMBER(7)
判断以下两个SQL语句:
(1)SELECTROUND(SUM(salary),-2)FROMteacher;
(2)SELECTsubject_id,ROUND(SUM(salary),-2)FROMteacherGROUPBYsubject_id;
有什么不同结果?
(选择1项)
A.语句1将返回每个老师一个结果
B.语句2将返回多个结果
C.结果相同,显示不同
D.将有一个句子产生错误
42.哪一个权限允许你删除其他用户的序列对象?
(选择1项)
A.DROPSEQUENCE
B.DELETESEQUENCE
C.DROPANYSEQUENCE
D.DELETEANYSEQUENCE
43.哪个命令属于隐含提交命令?
(选择1项)
A.CREATE
B.UPDATE
C.COMMIT
D.SELECT
44.你认为下面句子将完成什么任务?
(选择1项)
CREATEPUBLICSYNONYM