oracle 函数 测试题,oracle plsql测试题与答案(绝对经典)

a7f4a3f590493a1e451dd952a488fd7c.gif oracle plsql测试题与答案(绝对经典)

(5页)

06ea342a-55ae-4741-a561-6123a9882ee51.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

Oracle PL/SQL 测试题测试题姓名:___ _________ 一、选择题一、选择题 1、Oracle 数据库中为新创建的表分配的初始空间通常为多大(B) A、一个块 B、一个区 C、一个段 D、c 一个表空间2、关于存储过程参数,正确的说法是(B) A、存储过程的输出参数可以是标量类型,也可以是表类型 B、存储过程输入参数可以不输入信息而调用过程 C、可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2)) D、以上说法都不对3、下列说法,正确的说法是(B) A、只要在存储过程中有增删改语句,一定加自治事务 B、在函数内可以修改表数据 C、函数不能递归调用 D、以上说法都不对4、有一产品表(编号,名称,价格,数量,所属分类) ,下列语法不正确的是(D) A、select * from 产品表 where 价格>1000 B、select sum(价格) from 产品表 group by 所属分类 having max(价格)>1000 C、select 所属分类,sum(价格) from 产品表 where 价格>1000 group by 所属分类 D、select 所属分类,sum(价格) from 产品表 where max(价格)>1000 group by 所属分类5、关于触发器,下列说法正确的是(B) A、可以在表上创建 INSTEAD OF 触发器 B、语句级触发器不能使用“:old”和“:new” C、行级触发器不能用于审计功能 D、触发器可以显式调用6、下列那些是 Oracle 的伪列(ACD) A、ROWID B、ROW_NUMBER() C、LEVEL D、ROWNUM E、COLUMN7、当表的重复行数据很多时,应该创建的索引类型应该是( C ) A、B 树B、reverse C、bitmap D、函数索引8、在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?(C ) A、primary key B、unique C、check D、not null9、利用游标来修改数据时,所用的。 。FOR UPDATE 充分利用了事务的哪个特性?( D) A、原子性 B、一致性 C、永久性 D、隔离性 10、下列说法不正确的是()全对 A、在 PLSQL 自定义函数中如果包含 UPDATE、DELETE、INSERT 语句,不必在函数体 内给出 COMMIT; B、自定义函数可以在 SQL 语句中调用、也可以在 PLSQL 块中调用 C、自定义函数可以返回表类型 D、自定义函数中的参数可以是 OUT 类型二、编程题二、编程题1、查找出当前用户模式下,每张表的记录数,以 scott 用户为例,结果应如下:DEPT...................................4EMP...................................14BONUS.................................0SALGRADE.............................5其实现的代码是: declaretype tab_names is table of varchar2(20) index by binary_integer;tab_name tab_names;coun number;str varchar2(100); beginselect table_name bulk collect into tab_name from user_tables;for i in tab_name.first..tab_name.last loopstr:='select count(*) from '||tab_name(i);execute immediate str into coun;dbms_output.put_line(tab_name(i)||'..........'||coun);end loop; end;2、某 cc 表数据如下: c1 c2 -------------- 1 西 1 安 1 的 2 天 2 气 3 好…… 转换为 1 西安的 2 天气 3 好 要求:不能改变表结构及数据内容,仅在最后通过 SELECT 显示出这个查询结果代码为: create or replace function x return varchar2 is type t_array is table of number index by binary_integer; type tarray is table of varchar2(10) index by binary_integer; ta t_array; tar tarray; re varchar2(10); n number; na varchar2(10); begin select id bulk collect into ta from (select id,name from xx order by id) group by id; for i in ta.first..ta.last loop dbms_output.put(ta(i)||' '); select name bulk collect into tar from xx where id=ta(i); for i in tar.first..tar.last loop dbms_output.put(tar(i)); end loop;dbms_output.put_line(' '); end loop; return re; end;2、请用一条 sql 语句查询出 scott.emp 表中每个部门工资前三位的数据,显示结果如下:DEPTNO SAL1 SAL2 SAL3 ------ ---------- ---------- -------------------------------------10 5000 2450 130020 3000 2975 110030 2850 1600 1500 则,该语句为: select deptno,max(sal) sal1,max(decode(t,2,sal)) sal2,min(sal ) sal3 from (select sal,deptno,t from (select empno,ename,sal,row_number() over(partition by deptno order by sal desc) t,deptno from emp ) e where e.t<=3) group by deptno3、表 nba 记录了 nba(team VARCHAR2(10),y NUMBER(4))夺冠球队的名称及年份:TEAM Y -------------------- ------------------------------ 活塞 1990 公牛 1991 公牛 1992 公牛 1993 火箭 1994 火箭 1995 公牛 1996 公牛 1997 公牛 1998 马刺 1999 湖人 2000 湖人 2001 湖人 2002 马刺 2003 活塞 2004 马刺 2005 热火 2006 马刺 2007 凯尔特人 2008 湖人 2009 湖人 2010请写出一条 SQL 语句,查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间 是多少,结果如下:TEAM B E -------------------- ---------- -------------------------------- 公牛 1991 1993 火箭 1994 1995 公牛 1996 1998 湖人 2000 2002 湖人 2009 2010select max(nn.team) team,min(nn.y) B,max(nn.y)+1 E from (select n2.team,n2.y from (select * from nba) n1 join (select * from nba) n2 on n1.team=n2.team where n1.y=n2.y+1) nn group by (nn.y-rownum) order by B 关 键 词: oracleplsql 测试 答案 绝对 经典

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值