OraclePLSQL测试题与答案绝对经典.doc

上传人:田海滨 文档编号:149475 上传时间:2025-07-12 格式:DOC 页数:5 大小:94KB
下载 相关 举报
OraclePLSQL测试题与答案绝对经典.doc_第1页
第1页 / 共5页
OraclePLSQL测试题与答案绝对经典.doc_第2页
第2页 / 共5页
OraclePLSQL测试题与答案绝对经典.doc_第3页
第3页 / 共5页
OraclePLSQL测试题与答案绝对经典.doc_第4页
第4页 / 共5页
OraclePLSQL测试题与答案绝对经典.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、OraclePL/SQL测试题姓名:_一、选择题1、Oracle数据库中为新创建的表分配的初始空间通常为多大(B)A、一个块B、一个区C、一个段D、c一个表空间2、关于存储过程参数,正确的说法是(B)A、存储过程的输出参数可以是标量类型,也可以是表类型B、存储过程输入参数可以不输入信息而调用过程C、可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2)D、以上说法都不对3、下列说法,正确的说法是(B)A、只要在存储过程中有增删改语句,一定加自治事务B、在函数内可以修改表数据C、函数不能递归调用D、以上说法都不对4、有一产品表(编号,名称,价格,数量,所属分类),下列

2、语法不正确的是(D)A、select*from产品表where价格1000B、selectsum(价格)from产品表groupby所属分类havingmax(价格)1000C、select所属分类,sum(价格)from产品表where价格1000groupby所属分类D、select所属分类,sum(价格)from产品表wheremax(价格)1000groupby所属分类5、关于触发器,下列说法正确的是(B)A、可以在表上创建INSTEADOF触发器B、语句级触发器不能使用“:old”和“:new”C、行级触发器不能用于审计功能D、触发器可以显式调用6、下列那些是Oracle的伪列(AC

3、D)A、ROWIDB、ROW_NUMBER()C、LEVELD、ROWNUME、COLUMN7、当表的重复行数据很多时,应该创建的索引类型应该是(C)A、B树B、reverseC、bitmapD、函数索引8、在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?(C)A、primarykeyB、uniqueC、checkD、notnull9、利用游标来修改数据时,所用的。FORUPDATE充分利用了事务的哪个特性?(D)A、原子性B、一致性C、永久性D、隔离性10、下列说法不正确的是()全对A、在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数体内给

4、出COMMIT;B、自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用C、自定义函数可以返回表类型D、自定义函数中的参数可以是OUT类型二、编程题1、查找出当前用户模式下,每张表的记录数,以scott用户为例,结果应如下:DEPT4EMP14BONUS0SALGRADE5其实现的代码是:declaretypetab_namesistableofvarchar2(20)indexbybinary_integer;tab_nametab_names;counnumber;strvarchar2(100);beginselecttable_namebulkcollectintotab_na

5、mefromuser_tables;foriintab_name.first.tab_name.lastloopstr:=selectcount(*)from|tab_name(i);executeimmediatestrintocoun;dbms_output.put_line(tab_name(i)|coun);endloop;end;2、某cc表数据如下:c1c21 西1 安1的2 天2 气3 好转换为1西安的2天气3 好要求:不能改变表结构及数据内容,仅在最后通过SELECT显示出这个查询结果代码为:createorreplacefunctionxreturnvarchar2istyp

6、et_arrayistableofnumberindexbybinary_integer;typetarrayistableofvarchar2(10)indexbybinary_integer;tat_array;tartarray;revarchar2(10);nnumber;navarchar2(10);beginselectidbulkcollectintotafrom(selectid,namefromxxorderbyid)groupbyid;foriinta.first.ta.lastloopdbms_output.put(ta(i)|);selectnamebulkcollec

7、tintotarfromxxwhereid=ta(i);foriintar.first.tar.lastloopdbms_output.put(tar(i);endloop;dbms_output.put_line();endloop;returnre;end;2、请用一条sql语句查询出scott.emp表中每个部门工资前三位的数据,显示结果如下:DEPTNOSAL1SAL2SAL3105000245013002030002975110030285016001500则,该语句为:selectdeptno,max(sal)sal1,max(decode(t,2,sal)sal2,min(sal

8、)sal3from(selectsal,deptno,tfrom(selectempno,ename,sal,row_number()over(partitionbydeptnoorderbysaldesc)t,deptnofromemp)ewheree.t=3)groupbydeptno3、表nba记录了nba(teamVARCHAR2(10),yNUMBER(4)夺冠球队的名称及年份:TEAMY活塞1990公牛1991公牛1992公牛1993火箭1994火箭1995公牛1996公牛1997公牛1998马刺1999湖人2000湖人2001湖人2002马刺2003活塞2004马刺2005热火2

9、006马刺2007凯尔特人2008湖人2009湖人2010请写出一条SQL语句,查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间是多少,结果如下:TEAMBE公牛19911993火箭19941995公牛19961998湖人20002002湖人20092010selectmax(nn.team)team,min(nn.y)B,max(nn.y)+1Efrom(selectn2.team,n2.yfrom(select*fromnba)n1join(select*fromnba)n2onn1.team=n2.teamwheren1.y=n2.y+1)nngroupby(nn.y-rownum)orderbyB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

宁ICP备18001539号-1