当前位置:文档之家› oracle考试题

oracle考试题

Oracle基础测试试卷姓名:学校/专业: 成绩:一.选择题(20题,共60分)1、Oracle数据库中为新创建的表分配的初始空间通常为多大?( B )A、一个块B、一个区C、一个段D、一个表空间2、关于存储过程参数,正确的说法是( B )。

A、存储过程的输出参数可以是标量类型,也可以是表类型B、存储过程输入参数可以不输入信息而调用过程C、可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2))D、以上说法都不对3、有一产品表(编号,名称,价格,数量,所属分类),下列语法不正确的是( D )。

A、select * from 产品表where价格>1000B、select sum(价格) from 产品表group by 所属分类having max(价格)>1000C、select所属分类,sum(价格) from 产品表where 价格>1000 group by 所属分类D、select所属分类,sum(价格) from 产品表where max(价格)>1000 group by 所属分类4、下列哪些是Oracle的伪列。

(ACD )(多选)A、ROWIDB、ROW_NUMBER()C、LEVELD、ROWNUME、COLUMN5、在SQL*Plus环境中,删除触发器trg_emp的命令是( A )。

A、DROP TRIGGER trg_empB、DELETE TRIGGER trg_empC、REMOVE TRIGGER trg_empD、ALTER TRIGGER trg_emp REMOVE6、单行( B )函数能够得到字符串的一部分?A、INSERTB、SUBSTRC、LPADD、LEAST7、利用游标来修改数据时,所用的。

FOR UPDATE充分利用了事务的哪个特性?( D )A、原子性B、一致性C、永久性D、隔离性8、下列说法不正确的是()。

(多选)A、在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数体内给出COMMITB、自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用C、自定义函数可以返回表类型D、自定义函数中的参数可以是OUT类型9、在Oracle数据库设计与实现中,要查询出是否为”空”条件的记录,需要使用( B )操作符。

A、BETWEENB、IS NULLC、LIKED、!=10、哪行代码有错误?( C )A、SELECT dname,enameB、FROM emp e,dept dC、WHERE emp.deptno=dept.deptnoD、ORDER BY 1,211、在Oracle数据库设计与实现中,( C )提供对SQL的过程扩展。

A、iSQL*PlusB、SQL*PlusC、PL/SQLD、对象存储12、在Oracle中,用下列语句定义了一个过程:CREATE OR REPLACE PROCEDURE test(a IN VARCHAR2,b IN OUT NUMBER,c OUT VARCHAR2)ISBEGIN........END;/假定使用的变量都已定义,下面对过程test的调用语法正确的是()。

A 、test(‘string',50,v-str2)B 、test(v-strl,v-numl,'String2')C 、test(‘string',v-numl, v-str2)D 、test(v-strl,20,v-str2)13、哪个语句不会建立隐式事务?( D )A、INSERTB、UPDATEC、DELETED、SELECT FOR UPDATE14、如果查询表A(有3行数据)和表B(有4行数据),使用select * from a,b,返回的查询结果有多少行?( D )A、7B、1C、0D、1215、你需要把NEW_CUST表中的新客户信息导入CUST和CUST_SPECIAL表,如果客户信誉度大于10000,需要导入CUST_SPECIAL表,所有新客户信息都要导入CUST表,使用哪种技术可以尽快完成导入?()A、外部表B、MERGE 命令C、INSERT多表插入命令D、带有WITH CHECK OPTION子句的INSERT命令16、有一个函数CALCTAXCREATE OR REPLACE FUNCTION calctax (sal NUMBER)RETURN NUMBERISBEGINRETURN (sal * 0.05);END;在SQL*PLUS环境执行该函数的正确方法是()。

A、执行命令CALCTAX(1000)B、执行命令EXECUTE FUNCTION calctaxC、建立SQL*Plus环境变量X,执行命令:X := CALCTAX(1000)D、建立SQL*Plus环境变量X,执行命令EXECUTE:X := CALCTAXE、建立SQL*Plus环境变量X,执行命令EXECUTE:X := CALCTAX(1000)17、在表PRODUCTS和ORDER_ITEMS中,执行以下语句查询PRODUCT_NAME和商品被订购的次数,执行该语句将导致:()SELECT p.product_name, i.item_cnt FROM (SELECT product_id, COUNT (*) item_cnt FROM order_items GROUP BY product_id) i RIGHT OUTER JOIN products p ON i.pro duct_id = p.product_id;A、命令会成功执行,得出想要的结果B、命令不会执行,因为子查询和外连接不能一起使用C、命令不会执行,因为别名ITEM_CNT在外层不可见D、命令不会执行,因为GROUP BY不能用于子查询中18、执行以下MERGE命令的结果是()。

MERGE INTO t1USING t2 ON (连接谓词)..A、对T2中有T1中没有的行进行合并连接B、对T1、T2中同名的列进行自然连接C、T1和T2表的同名列交叉连接D、T2中的每行记录,如果T1中有则更新,没有则插入T119、实例启动时数据库所处的状态是( C )。

A、MOUNTB、OPENC、NOMOUNTD、None20、在进行关闭数据库的备份之前,哪三个命令可用于关闭数据库?(BCD )(多选)A、SHUTDOWN ABORT.B、SHUTDOWN NORMAL.C、SHUTDOWN IMMEDIATE.D、SHUTDOWN TRANSACTIONAL.三、问答题(5题,共20分)1、创建一张学生表student,包含两个字段(学号,姓名),并往表中写入学号为N01,姓名为小红的数据;Insert student values();2、表TFWCP已有产品名称(CPMC)字段,如何使select语句使查询结果自动生成序号?3、表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。

2、怎样解除PROCEDURE被意外锁定?3、日期的各部分的常用的的写法:取时间点的格式为(2012-12-17)的写法:三、编程题(2题,共20分)1、用一条SQL语句算出商品A,B目前还剩多少?表一(AAA)商品名称mc 商品总量slA 100B 120表二(BBB)商品名称mc 出库数量slA 10A 20B 10B 20B 30Select mc,sl from bbb group by mc;Select mc,aaa.sl – bbb.sl from aaa,( Select mc,sl from bbb group by mc) as bbb where aaa.mc = bbb.mc ;2、用一条SQL 语句查询出每门课都大于80分的学生姓名name kecheng fenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语90With table_a as(Select name from stu where fenshu <= 80 group by name)Select name from table_a where name not in (select * from table_a);答案一、1.B、2.B、3.D、4.ACD、5.A6.B、7.D、8.ABCD、9.B、10.C11.C、12.C、13.D、14.D、15.C16.E、17.A、18.D、19.C、20.BCD二、2、select rownum,cpmc from TFWCP3、select fclass,max(fscore) from table1 group by fclass,fid4、alter system kill session ,把那个session给杀掉,不过你要先查出她的session id or 把该过程重新改个名字就可以了5、SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL三、1、SELECT AAA.MC,(SL-E.SS) LEFT FROM AAAJOIN(SELECT MC,SUM(SL) SS FROM BBBGROUP BY MC)EON AAA.MC=E.MC2、SELECT DISTINCT NAME FROM SSSSSS EWHERE (SELECT COUNT(*) FROM SSSSSS MWHERE FENSHU>80 AND =)=3。

相关主题