1、ORACLE数据库习题精品管理资料1.ORACLE数据库物理结构包括以下三种文件,以下不属于的是( )A系统文件B日志文件C数据文件D控制文件2.下列哪个命令是用于ORACLE中数据导出的 ( )Aexp Bimp Cinput Doutput3.( )是用于控制数据访问的语言。ADML BDDL CDCL DDLL4.NULL表示什么( )A0 B空格 C值 D没有值5.下面四个语句中哪一个是正确的?( )ASELECT * , ENAME FROM EMP;B DELETE * FROM EMP;C SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;DSEL
2、ECT ENAME|SAL AS “name FROM EMP ;6.假定有一张表用户表users,其中一身份证字段ID_card.为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束()Aprimary key Bcheck Cdefault Dnot null7.下面哪一个like命令会返回名字象HOTKA的行?( )Awhere ename like _HOT Bwhere ename like H_T Cwhere ename like TKA_ Dwhere ename like TOK8.()操作符只返回由第一个查询选定但是没有被第二个查询选
3、定的行.A.UNIONB.UNION ALLC.INTERSECTD.MINUS9EMPLOYEES表的结构如下:EMPLOYEE_ID NUMBER PRIMARY KEYFIRST_NAME VARCHAR2(25)LAST_NAME VARCHAR2(25)HIRE_DATE DATE考虑下面的语句.1。CREATE table new_emp (employee_id NUMBER,name VARCHAR2(30));2。INSERT INTO new_emp SELECT employee_id,last_name from employees;3.Savepoint s2;4。D
4、ELETE from new_emp;5。ROLLBACK to s2;6。DELETE from new_emp where employee_id=180;7.UPDATE new_emp set name=James;8。ROLLBACK to s2;9。UPDATE new_emp set name =JamesWHERE employee_id=180;10.ROLLBACK;完成本次事务处理以后,以下说法正确的有( )A.表中没有行.B.有一个姓名为James的员工.C.不能多次回滚到相同的保存点.D.由于已经删除了员工ID180,因此最后一次更新未更新任何行.10以下运算结果不为
5、空值的是( ) A12+NULL B60NULL CNULLNULL D12/(60+NULL)11若当前日期为255月-06,以下( )表达式能计算出5个月后那一天所在月份的最后一天的日期。ANEXT_DAY(ADD_MONTHS(28-5月-06,5) BNEXT_DAY(MONTHS_BETWEEN(285月06,5)) CLAST_DAY(MONTHS_BETWEEN(28-5月-06,5)) DLAST_DAY(ADD_MONTHS(28-5月-06,5)12( )子句用于列出唯一值.Aunique Bdistinct Corder by Dgroup by13哪一个是子查询执行的顺
6、序( )A最里面的查询到最外面的查询B最外面的查询到最里面的查询C简单查询到复杂查询D复杂查询到简单查询14下面哪一个语句可以使用子查询( )ASELECT 语句 BUPDATE语句 CDELETE语句 D以上都是15如果表DEPT包含3条记录,现在用如下命令对其进行修改,ALTER TABLE DEPT ADD (COMP NUMBER(4) NOT NULL);请问下面哪一个说法是正确的( )A该语句在表的最前面插入一个非空列B该语句在表的最后插入一个非空列C该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效D该语句将产生错误16下列哪个是组合主键的特征( )A每列有唯一的值,
7、但不是NULL值B组合有唯一的值,并且其中每列没有NULL值C组合的第一列和最后一列有唯一值D组合的第一列和最后一列有唯一值,但没有NULL值17当删除父表中的数据时,在CREATE TABLE语句的外键定义中指定的( )选项删除子表中的数据。AON TRUNCATE CASCADE BON DELETE CASCADE CON UPDATE CASCADE DA和C都是18视图可以用于( )A限制对表中指定列的访问 B限制对表中行的子集的访问 CA和B都是 DA和B都不是19语句SELECT * FROM dept WHERE NOT EXISTS (SELECT * FROM emp WH
8、ERE deptno=dept。deptno)执行后的结果为( )A只显示存在于EMP表中的部门全部信息。B只显示不存在于EMP表中的部门全部信息C未返回任何数据D显示DEPT表中的全部信息20已创建序列S1,若当前值为2,先执行3次S1。CURRVAL,再执行3次S1.NEXTVAL,最后S1的值是( ) A3 B4 C5 D621 数据库中有两个用户scott和myuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( ) A
9、select*from scott.wz where wunit is null and rownum5;Bselectfrom myuser。wz where wunit = null and rownum5;Cselectfrom myuser。wz where wunit is null and rownum=100 AND =2000;D.SELECT customer_id,order_id,order_total FROM orders HAVING ON order_total (100 and 2000) INCLUSIVE;E.SELECT customer_id,order
10、_id,order_total FROM orders WHERE order_total=100 AND order_total=2000;13 以下哪些是有效的Oracle约束类型?( )(选择四项)A。 UNIQUE B.NONUNIQUE C. CHECK D.CASCADE E. PRIMARY KEY F。CONSTANTG G。NOT NULL14更改oracle用户HR,使其变为不可用(锁定)状态()选择一项A.UPDATE USER HR ACCOUNT DISABLE ;B.UPDATE USER HR ACCOUNT LOCK ;C.ALTER USER HR ACCOU
11、NT LOCK ;D.ALTER USER HR ACCOUNT DISABLE ;15INSERT INTO TEST VALUES(&ID, NAME); 语句在执行时将( )选择一项A.编译错:提示变量未定义B.运行错:提示不能识别符号C.将值&ID和NAME插入到表中D.提示用户输入输入ID和NAME的值,再将输入值插入表中16下面关于删除视图的说法哪一个是正确的().(选择一项)A.删除视图后应立即用COMMIT语句使更改生效B.删除视图后,和视图关联的表中的数据不再存在C.视图被删除后视图中的数据也将被删除D.用dorp VIEW删除视图17( )函数通常用来计算累计排名、移动平均
12、数和报表聚合等。选择一项)A.汇总 B.分析C.分组D.单行18集合操作符Intersect的作用是( )选择一项A.将两个记录集联接起来B.选择第一个查询有,而第二个没有的记录C.选择二个查询的交集D.选择第二个查询有,而第一个没有的记录19EMP1表包含下面这些字段.ENAME VARCHAR2(35)SALARY NUMBER(8,2)HIRE_DATE DATE管理部门想要一份已在公司工作了5年以上的员工名单。以下哪个SQL语句可以显示需要的结果。( )(选择一项)A.SELECT ENAME FROM EMP1 WHERE SYSDATEHIRE_DATE5; B.SELECT EN
13、AME FROM EMP1 WHERE HIRE_DATESYSDATE5;C.SELECT ENAME FROM EMP1 WHERE (SYSDATEHIRE_DATE)/3655;D.SELECT ENAME FROM EMP1 WHERE (SYSDATEHIRE_DATE)3655;20在Oracle中,使用下列的语句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任务是()。(选择一项)A.需要给出schema被除去的对象名B.指定了新的对象权限C.指定了新的系统权限D.给Scott.inventory对象创建一个公用同义
14、词parts21在Oracle中,有一个名为seq_id的序列对象,假定此时查看seq_id序列当前值显示为100,那么执行下面的sql insert into test(id, name) values(seq_id.NEXTVAL,tom ); 很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq_id序列当前值显示为( )选择一项 A. 99 B、100 C、101 D、不能确定22PL/SQL块中不能直接使用的SQL命令是( )选一项A.SELECTB.INSERTC.UPDATED.DROP23在PL/SQL块中,以零作除数时会引发下列( )异常.(
15、选择一项)A.VALUE_ERRORB.ZERO_DIVIDEC.VALUE_DIVIDED.ZERO_ERROR24在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是()(选择一项)A.select seq.ROWNUM from dual;B.select seq。NEXTVAL from dual; C.select seq.CURRVAL from dual;D.select seq.CURIVAL from dual;25当Select Into语句的返回没有数据时,将引发下列哪个异常?( )选择一项A.No_Data_FoundB.To_Ma
16、ny_RowC.Too_Many_RowsD.Invalid_Number26创建序列时,若未指定Cycle选项,则当前值大于MaxValue时将( )选择一项A.从MinValue重新开始循环B.重复使用MaxValue 值C.执行出错D.使用随机值27PL/SQL块中哪几部分是可选的( )选择二项A.DeclareB.BeginC.ExceptionD.以上均是28在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正确打开
17、此游标的语句是()(选择两项)E.OPEN emp_cursor(20);F.OPEN emp_cursor FOR 20;G.OPEN emp_cursor USING 20;H.FOR emp_rec IN emp_cursor(20) LOOP END LOOP;29在Insert触发器中可使用的引用有( )选一项A.new B.Old C.:Update D.:New和:Old30下面哪些是过程中的有效参数模式?()不定项选择 A。IN B。 INOUT C。OUT D。 OUT IN1。检索部门编号、部门名称、部门所在地及其每个部门的员工总数。select d.deptno,d。dn
18、ame,d。loc,count() from emp e,dept d where e。deptno=d.deptno group by d。deptno,d。dname,d.loc;2。检索员工和所属经理的姓名。select e.ename 雇员,m.ename 经理 from emp e,emp m where e.mgr=m.empno;3。 检索工资等级处于第四级别的员工的姓名.select e。ename from emp e inner join salgrade s on (e.sal between s.losal and s。hisal) where s。grade=4;4。检索工资等级高于smith的员工信息。select from emp e join salgrade s on (e.sal between s。losal and s.hisal) where s.grade(select distinct s。grade from emp e join salgrade s on (select sal from emp where ename=SMITH