ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:20.38KB ,
资源ID:11434307      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11434307.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(oracle笔试题附答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

oracle笔试题附答案.docx

1、oracle笔试题附答案1.你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能,并且不需要使用子查询(C) A可以用select语句改变Oracle中的数据B可以用select语句删除Oracle中的数据C可以用select语句和另一个表的内容生成一个表D可以用select语句对表截断2. 你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用(C)A表 B序列 C索引 D.视图3. 用下列代码块回答问题:SQLselect_(-45)asoutputfromdual;OUTPUT-45下列哪个单行函数无法产生这个输出(A

2、)Aabs()Bceil()Cfloor()Dround()4. SQL*Plus中发出的下列语句:SQLselectceil(-97.342),2 floor(-97.342),3round(-97.342),4trunc(-97.342)5fromdual;下列哪个函数不返回结果-97(B)Aceil()Bfloor()Cround()Dtrunc()5. 你要定义外连接,下列哪个选项正确描述了外连接语句?( D )A由于外连接操作允许一个表中有NULL值,因此连接这些表时不必指定相等性比较。B在表A与B的外连接语句中,如果不管B表有无相应记录,都要显示表A的所有行,则可以使用右外连接。C

3、在表A与B的外连接语句中,如果不管A表有无相应记录,都要显示表B的所有行,则可以使用左外连接。D尽管外连接操作允许一个表中有NULL值,但连接这些表时仍要指定相等性比较6. 对数据库运行下列哪个group by查询时会从Oracle产生错误?( C )Aselect deptno, job, sum(sal) from emp group by job, deptno; Bselect sum(sal), deptno, job from emp group by job, deptno; Cselect deptno, job, sum(sal) from emp; D select dep

4、tno, sum(sal), job from emp group by job, deptno;7.若account表中有14条记录,则用户执行了以下操作,结果是( A )declare cursor mycur is select * from emp;begin open mycur; dbms_output.put_line(mycur%rowcount); close mycur;end;A.0 B.14C.7D.编译不通过,无法执行。8. 数据库系统的核心是_B_。A、数据模型B、数据库管理系统C、软件工具D、数据库9. 下列叙述中正确的是_C_。A、数据库是一个独立的系统,不需要

5、操作系统的支持B、数据库设计是指设计数据库管理系统C、数据库技术的根本目标是要解决数据共享的问题D、数据库系统中,数据的物理结构必须与逻辑结构一致10. SQL 语句中修改表结构的命令是_C_。A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLED、ALTER STRUCTURE11. 如果要创建一个数据组分组报表,第一个分组表达式是部门,第二个分组表达式是性别,第三个分组表达式是基本工资,当前索引的索引表达式应当是_B_。A、部门+性别+基本工资B、部门+性别+STR(基本工资)C、STR(基本工资)+性别+部门D、性别+部门+STR(基本工资)12

6、. 数据库DB、数据库系统DBS、数据库管理系统DBMS 三者之间的关系是_A_。A、DBS 包括DB 和DBMS B、DBMS 包括DB 和DBSC、DB 包括DBS 和DBMS D、DBS 就是DB,也就是DBMS13. 定位第一条记录上的命令是_A_。A、GO TOP B、GO BOTTOM C、GO 6 D、SKIP14. 在关系模型中,实现关系中不允许出现相同的元组的约束是通过_B_。A、候选键B、主键C、外键D、超键15. 只有满足联接条件的记录才包含在查询结果中,这种联接为_C_。A、左联接B、右联接C、内部联接D、完全联接16. 索引字段值不唯一,应该选择的索引类型为_B_。A

7、、主索引B、普通索引C、候选索引D、唯一索引17. 10. 从数据库中删除表的命令是_A_。A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE TABLE18. DELETE FROM S WHERE 年龄60 语句的功能是_B_。A、从S 表中彻底删除年龄大于60 岁的记录B、S 表中年龄大于60 岁的记录被加上删除标记C、删除S 表D、删除S 表的年龄列19. SELECT-SQL 语句是_B_。A、选择工作区语句B、数据查询语句C、选择标准语句D、数据修改语句20. SQL 语言是_C_语言。A、层次数据库B、网络数据库C、关系数据库D、非数据

8、库21. 在SQL 中,删除视图用_C_。A、DROP SCHEMA 命令B、CREATE TABLE 命令C、DROP VIEW 命令D、DROP INDEX 命令22. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的_ A_。A、一方表的主索引或候选索引,多方表的普通索引B、一方表的主索引,多方表的普通索引或候选索引C、一方表的普通索引,多方表的主索引或候选索引D、一方表的普通索引,多方表的候选索引或普通索引23. 下列函数中函数值为字符型的是_B_。A、DATE() B、TIME() C、YEAR() D、DATETIME()24. 将查询结果放在数组中应使用_A_短语

9、。A、INTO CURSOR B、TO ARRAY C、INTO TABLE D、INTO ARRAY简答题1. 如何判断游标是否到了末尾。答: cursor_name%notfound2.写一个游标并使用它。答:Declare cursor cursor_name is Select real_name from account;Name varchar2(10);Beginopen cursor_name;loopfetch cursor into name;exit when cursor_name%notfound;sqlend loop;close cursor_name;end;3

10、. 使用存储过程访问数据库比直接用SQL语句访问有哪些优点?答:存储过程是预编译过的,执行时勿须编译,执行速度更快;存储过程封装了一批SQL语句,便于维护数据的完整性与一致性;可以实现代码的复用。4.简述数据库的第一范式,第二范式,第三范式。并举例答:第一范式:(1NF)无重复的列。第二范式:(2NF)属性完全依赖于主键。第三范式:(3NF)属性不依赖于其它非主属性。5. 试述事务的概念及事务的四个特性。答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isol

11、ation)和持续性(Durability)。这个四个特性也简称为ACID特性。原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。6. Truncate与delete的区别?答:delete一般用于删除少

12、量记录的操作,而且它是要使用回滚段并且要进行显示的提交事务。而truncate则使用于大量删除数据,而且隐式提交事务,其速度要比使用delete快的。7. Truncate与delete的区别?答:DDL表示数据定义语言,在ORACLE中主要包括CREATE,ALTER,DROP;DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE。8.如何获取系统时间。答:select sysdate from dual;编程题1、一个日期判断的sql 语句?请取出tb_send 表中日期(SendTime 字段) 为当天的所有记录?(SendTime 字段为date

13、time 型,包含日期与时间)答:select * from tb where datediff(dd,SendTime,getdate()=02.一道SQL 语句面试题,关于group by 表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负如果要生成下列结果, 该如何写sql 语句?胜负2005-05-09 2 22005-05-10 1 2答:create table #tmp(rq varchar(10),shengfu nchar(1)insert into

14、#tmp values(2005-05-09,胜)insert into #tmp values(2005-05-09,胜)insert into #tmp values(2005-05-09,负)insert into #tmp values(2005-05-09,负)insert into #tmp values(2005-05-10,胜)insert into #tmp values(2005-05-10,负)insert into #tmp values(2005-05-10,负)1)select rq, sum(case when shengfu=胜 then 1 else 0 en

15、d)胜,sum(case when shengfu=负then 1 else 0 end)负 from #tmp group by rq2) select N.rq,N.勝,M.負from (select rq,勝=count(*) from #tmp where shengfu=胜group by rq)N inner join(select rq,負=count(*) from #tmp where shengfu=负group by rq)M on N.rq=M.rq3)select a.col001,a.a1 胜,b.b1 负from(select col001,count(col00

16、1) a1 from temp1 where col002=胜 group by col001) a,(select col001,count(col001) b1 from temp1 where col002=负 group by col001) bwhere a.col001=b.col0013、请用SQL 语句实现:从TestDB 数据表中查询出所有月份的发生额都比101 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有112 月份的发生额。AccID:科目代码,Occmonth:发生额月份,DebitOccur:发生额。数据库名:JcyAudit,数据集:Sel

17、ect * from TestDB答:select a.*from TestDB a,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID=101 groupby Occmonth) bwhere a.Occmonth=b.Occmonth and a.DebitOccurb.Debit101ccur4.有一个两维表,M行N列,请用Oracle的存储过程,转置成N行M列。答: CREATE OR REPLACE PROCEDURE row_col_convert(p_tabname IN VARCHAR2,v

18、iew_name IN VARCHAR2 DEFAULT v_tmp)AUTHID CURRENT_USERASsqlstr VARCHAR2(4000);sqlstr1 varchar2(500):=select ? newid;cur sys_refcursor;id_col VARCHAR2(30);id varchar2(100);BEGINif trim(p_tabname) is null then return; end if;SELECT column_name INTO id_col FROM user_tab_cols WHERE table_name=upper(p_ta

19、bname) AND column_id=1;OPEN cur FOR select to_char(|id_col|) from |p_tabname| order by 1;loop fetch cur INTO ID; exit WHEN cur%notfound; sqlstr1:=sqlstr1|,max(decode(|id_col|,|id|,to_char(?)|id|;END loop;sqlstr1:=sqlstr1| from |p_tabname;FOR cur1 IN(SELECT column_name FROM user_tab_cols WHERE table_

20、name=upper(p_tabname) AND column_id1) loop sqlstr:=sqlstr|chr(10)|union all |REPLACE(sqlstr1,?,cur1.column_name);END loop;execute immediate create or replace view |view_name| as |substr(sqlstr,12);END;5.请根据以下的描述,编写存储过程 sp_terminal用户资料表:serv( serv_id number(10), pro_id number(10), user_type varchar2(

21、30), terminal_name varchar2(30) )其中,serv_id 为用户标识,是serv表的主键,prod_id为产品标识;user_type为用户类型;terminal_name为终端类型 终端类型临时表:terminal(serv_id number(10),terminal_name varchar2(30)初始化的情况下,serv表的serv_id,prod_id,user_type字段是已知的,terminal_name字段是空的,现在主要根据prod_id,user_type字段的值来更新terminal_name字段 更新条件为: 当条件满足“prod_id

22、 = 1 and user_type=A“时,terminal_name更新为固话当条件满足”prod_id = 1 and user_type=B“时,terminal_name更新为小灵通当条件满足”prod_id = 2“时,terminal_name更新为宽带当条件满足”user_type=C“时,terminal_name更新为CDMA以上条件均不满足时,terminal_name更新为 -1;答:create or replace procedure sp_terminal is begin update serv t set t.terminal_name = case when

23、 t.pro_id = 1 and t.user_type = A then 固话 when t.pro_id = 1 and t.user_type = B then 小灵通 when t.pro_id = 2 then 宽带 when t.user_type = C then CDMA else -1 end; update terminal a set a.terminal_name = (select t.terminal_name from serv t where t.serv_id = a.serv_id) where exists (select x from serv t where t.serv_id = a.serv_id); end;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1