B. 什么命令都不可以,因为DDL语句不能被回滚 C. 发出一个ROLLBACK命令 D. 终断正在活动的会话 12.表ORDERS的结构定义如下:
ORDER_ID NUMBER(4) NOT NULL; CUSTOMER_ID NUMBER(12) NOT NULL; ORDER_TOTAL NUMBER(10.2); 下列哪两个语句,能检索出预定总量在100.00与2000.00之间的记录? ( )“不定项选择”
A. SELECT customer_id,order_id,order_total FROM orders HAVING order_total
BETWEEN 100 AND 2000;
B. SELECT customer_id,order_id,order_total FROM orders WHERE order_total
BETWEEN 100 AND 2000;
C. SELECT customer_id,order_id,order_total FROM orders WHERE
order_total>=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_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 NULL
14.更改oracle用户HR,使其变为不可用(锁定)状态( )“选择一项”
A. UPDATE USER HR ACCOUNT DISABLE ; B. UPDATE USER HR ACCOUNT LOCK ; C. ALTER USER HR ACCOUNT LOCK ; D. ALTER USER HR ACCOUNT DISABLE ; 15.INSERT INTO TEST VALUES(‘&ID’, ’&NAME’); 语句在执行时将( )“选择一项”
A. 编译错:提示变量未定义 B. 运行错:提示不能识别符号 C. 将值&ID和&NAME插入到表中
D. 提示用户输入输入ID和NAME的值,再将输入值插入表中 16.下面关于删除视图的说法哪一个是正确的( )。(选择一项)
A. 删除视图后应立即用COMMIT语句使更改生效 B. 删除视图后,和视图关联的表中的数据不再存在 C. 视图被删除后视图中的数据也将被删除
D. 用dorp VIEW删除视图
17.( )函数通常用来计算累计排名、移动平均数和报表聚合等。“选择一项)
A. 汇总 B. 分析 C. 分组 D. 单行
18.集合操作符Intersect的作用是( )“选择一项”
A. 将两个记录集联接起来
B. 选择第一个查询有,而第二个没有的记录 C. 选择二个查询的交集
D. 选择第二个查询有,而第一个没有的记录 19.EMP1表包含下面这些字段。
ENAME VARCHAR2(35) SALARY NUMBER(8,2) HIRE_DATE DATE 管理部门想要一份已在公司工作了5年以上的员工名单。以下哪个SQL语句可以显示需要的结果。( )(选择一项)
A. SELECT ENAME FROM EMP1 WHERE SYSDATE-HIRE_DATE>5; B. SELECT ENAME FROM EMP1 WHERE HIRE_DATE-SYSDATE>5;
C. SELECT ENAME FROM EMP1 WHERE (SYSDATE-HIRE_DATE)/365>5; D. SELECT ENAME FROM EMP1 WHERE (SYSDATE-HIRE_DATE)*365>5; 20.在Oracle中,使用下列的语句:
CREATE PUBLIC SYNONYM parts FOR Scott.inventory; 完成的任务是( )。(选择一项)
A. 需要给出schema被除去的对象名 B. 指定了新的对象权限 C. 指定了新的系统权限
D. 给Scott.inventory对象创建一个公用同义词parts 21.在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、不能确定 22.PL/SQL块中不能直接使用的SQL命令是( )“选一项”
A. SELECT B. INSERT C. UPDATE D. DROP
23.在PL/SQL块中,以零作除数时会引发下列( )异常。(选择一项)
A. VALUE_ERROR B. ZERO_DIVIDE C. VALUE_DIVIDE D. ZERO_ERROR
24.在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_Found B. To_Many_Row C. Too_Many_Rows D. Invalid_Number
26.创建序列时,若未指定Cycle选项,则当前值大于MaxValue时将( )“选择一项”
A. 从MinValue重新开始循环 B. 重复使用MaxValue 值 C. 执行出错 D. 使用随机值
27.PL/SQL块中哪几部分是可选的( )“选择二项”
A. Declare B. Begin C. Exception D. 以上均是
28.在Oracle中,PL/SQL块中定义了一个带参数的游标:
CURSOR emp_cursor(dnum NUMBER) IS
SELECT sal, comm FROM emp WHERE deptno = dnum; 那么正确打开此游标的语句是( )(选择两项) 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和:Old
30.下面哪些是过程中的有效参数模式?( )“不定项选择” A.IN B. INOUT C.OUT D. OUT IN
1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。
select d.deptno,d.dname,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') between s.losal and s.hisal));
5.检索30部门中1980年1月份之前入职的员工信息。显示:员工号、员工名、部门号,部门名、入职日期。
select empno,ename,d.deptno,d.dname,hiredate from emp,dept d where emp.deptno=d.deptno and d.deptno=30 and hiredate 6. 检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。 select e.ename 雇员,m.ename 经理,e.HIREDATE 雇员的雇佣日期,m.hiredate 经理雇佣日期 from emp e,emp m where e.mgr=m.empno and e.hiredate 7.按部门号(deptno) 及 工资(sal)排序检索公司的员工信息(要求部门号从大到小 ,部门号相同的按工资由低到高),显示的字段为:员工号、员工名、工资、部门号。 select empno,ename,sal,deptno from emp order by deptno desc,sal; 8.检索不同部门经理的最低工资。 select m.ename,e.empno,e.sal from emp e,emp m where e.mgr=m.empno and e.deptno in (select deptno from emp group by deptno) and e.sal in (select min(sal) from emp group by deptno); 9.检索部门号及其本部门的最低工资。 select deptno,min(sal) from emp group by deptno; 10.检索从事clerk工作的员工姓名和所在部门名称。 select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno where e.job='CLERK'; 11.检索和名叫SCOTT的员工相同工资的员工信息,但不显示SCOTT。显示字段:员工号、员工名、工资。 select empno,ename,sal from emp where sal =(select sal from emp where ename='SCOTT') and ename!='SCOTT' 12. 检索与SCOTT从事相同工作的员工信息。 select * from emp where job=(select job from emp where ename='SCOTT'); 13.检索出员工表emp中的第3条到第8条记录。显示字段:emp表中的全部字段。 select * from (select rownum num,e.* from emp e) where num>=3 and num<=8; 14. 检索与30部门员工工资等级相同的员工姓名与工资。 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 avg(sal) from emp where deptno=30) between s.LOSAL and s.HISAL)); 15. 求分段显示薪水的个数。显示结果如下: DEPTNO 800-2000 2001-5000 ------ ---------- ---------- 30 5 1 20 2 3 10 1 2 select t1.deptno, \ select deptno , count(*) as \group by deptno ) t1 join ( select deptno , count(*) as \group by deptno) t2 on t1.deptno = t2.deptno; 16. 用PL/sql实现输出7369号员工的姓名。 ---用PL/sql实现输出7369员工的姓名; set serveroutput on; -- 将sql*plus的输出功能开启 declare --声明部分 var_empno number(4) := 7369 ; --声明一个变量var_empno ,并给赋值,用:= 赋值var_name varchar2(10); --声明一个变量var_name 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ORACLE数据库习题(2)在线全文阅读。
相关推荐: