




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 选择题1、关于SQL、SQL*Plus、PL/SQL相关于Oracle数据库的说法不正确的是(D )ASQL是用来和Oracle交互的工具BSQL*Plus是编写SQL和PL/SQL的工具CPL/SQL是Oracle提供的过程化语言 DSQL*PLUS中不能含有SQL语句 2、ORACLE中权限最大的用户是( C )A. system B. admin C. sys D. scott3、select ename from emp where job=SALESMAN order by empno desc 的第三条结果是( D )A. ALLEN B. KING C. SMITH D. WARD4、执行语句select gongda from emp的执行结果是( D )A. 显示gongda B. 无输出 C. 显示14行工大 D. 报异常5、执行语句select * from emp where job=clerk,得到的结果是( B )A. 输出4行结果 B. 无输出 C. 输出14行结果 D. 报异常6、PL/SQL中自定义异常编号正确的是( B )A. -01400 B. -20222 C. -01158 D. -14337、PL/SQL中,若一条select语句没有返回值,将引发哪个异常 (B )ANO_ROWS_FOUND BNO_DATA_FOUND CNO_DATA_ROWS _FOUND DNO_FIND8 、以下代码哪一行有问题 ( B )1 DECLARE2 v_i NUMBER := &n ; 3 BEGIN 4 IF v_i % 3 = 0 THEN 5 dbms_output.put_line(您输入的数字是:|v_i|可以被3整除); 6 ELSE 7 dbms_output.put_line(您输入的数字是:|v_i|不能被3整除); 8 END IF ; 9 END;A. 第2行 B. 第4行 C. 第6行 D. 哪一行都没错9、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 12;var1 := var1 +1; DBMS_OUTPUT.PUT_LINE(A);END LOOP;输出的结果为( C )A无输出BACA ADA A A10、以下程序执行后的结果是( B )DECLARE str1 VARCHAR2(4000):=abcdefg_hijklmn; -g和h之间的下划线代表此处有一个空格 str2 VARCHAR2(4000); str3 VARCHAR2(4000); BEGIN select upper(str1) into str2 from dual; select LENGTH(str1) into str3 from dual; dbms_output.put_line(str2|, |str3); END; A无输出 BABCDEFG HIJKLMN, 15CABCDEFG HIJKLMN, 14 Dabcdefg hijklmn,15 11、ORACLE中权限最大的用户是( C )A. system B. admin C. sys D. scott12、oracle 11g默认的日期格式是(A )A. 25-12月-2013 B. 2013-12-25 C. 12-25-2013 D. 25-12-201313、执行语句SELECT comm FROM EMP 的执行结果有数字显示的是( A )A. 4行 B. 无输出 C. 14行 D. 报错14、如何获得系统当前时间 ( C )Asysdate Bselect sysdateCselect sysdate from dual D以上都是15、执行语句select * from emp where job=clerk,得到的结果是( B )A. 输出4行结果 B. 无输出 C. 输出14行结果 D. 报错16、emp中,deptno是该表的( B )A. 主键 B. 外键 C. 什么都不是 D. 主键+外键17、PL/SQL中自定义异常编号正确的是( B )A. -01400 B. -20123 C. -01158 D. -143318、PL/SQL中,若一条select语句没有返回值,将引发哪个异常 (B )ANO_ROWS_FOUND BNO_DATA_FOUND CNO_DATA_ROWS _FOUND DNO_FIND19、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 12;var1 := var1 +1; DBMS_OUTPUT.PUT_LINE(A);END LOOP;输出的结果为( C )A无输出BACA ADA A A20、在 Oracle PL/SQL程序中,要从用户输入赋值给数字变量 stuid,下面代码正确的是( C )Astuid = & stuid Bstuid := “& stuid ”Cstuid : = & stuidDstuid = & stuid2、 简答题1、查询出名字中第三个字母是“N”的员工信息select * from emp where ename like _N%2、查询所有员工工号、姓名、工资、所在部门名称、所在地,按工资降序排列select emp.empno,emp.ename,emp.sal,dept.dname,dept.loc from emp,deptwhere emp.deptno=dept.deptno order by emp.sal3、查询每个部门的员工数量以及该部门名称,将员工数大于4人的部门筛选出来select dname,count(*) from scott.emp,scott.deptWHERE scott.emp.deptno=scott.dept.deptno group by dname HAVING count(*)44、查询出没有员工的部门信息(部门编号、名称、所在地)SELECT * FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp)5、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal) from emp,dept WHERE emp.deptno=dept.deptno group by dept.deptno,dept.dname,dept.loc order by sum(sal) where rownum26、将所有芝加哥工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc=CHICAGO ) 7、查询所有员工工号、姓名、工资select emp.empno,emp.ename,emp.sal from emp8、查询出每个员工姓名、工资,并按工资降序排列select ename,sal from emp order by sal desc9、查询出每个员工的姓名以及部门所在地select emp.ename,dept.dname FROM emp,dept where emp.deptno=dept.deptno10、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal) from emp,dept WHERE emp.deptno=dept.deptno group by dept.deptno,dept.dname,dept.loc order by sum(sal) where rownum211、将所有在纽约工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc=NEW YORK ) 12、删除工资最高的两个员工信息delete from scott.emp where sal in( SELECT sal FROM (SELECT * FROM scott.emp ORDER BY sal desc) WHERE ROWNUM 3 )三、编程题1、自定义输入任意员工编号,输出该员工编号、姓名、工资、部门名称、所在地,如果输入的编号错误,请进行异常处理。DECLAREv_empno emp.empno%TYPE;v_ename emp.ename%TYPE;v_sal emp.sal%TYPE;v_dname dept.dname%TYPE;v_loc dept.loc%TYPE;BEGIN v_empno :=&gh; SELECT empno,ename,sal,dname,loc INTO v_empno,v_ename,v_sal,v_dname,v_loc FROM emp,dept WHERE emp.deptno=dept.deptno AND empno=v_empno; dbms_output.put_line(工号|v_empno|,姓名:|v_ename|,sal:|v_sal|,dname:|v_dname|,loc:|v_loc); EXCEPTION WHEN no_data_found THEN dbms_output.put_line(该员工号不存在!); END;2、自定义输入部门编号,查询出该部门编号下所有员工信息(姓名、工资、部门编号),并显示信息条数。 DECLAREv_ename emp.ename%TYPE;v_sal emp.sal%TYPE;v_deptno emp.deptno%TYPE:=&kkk;CURSOR c_1 IS SELECT emp.ename,emp.sal,emp.deptno FROM emp WHERE deptno=v_deptno;BEGIN OPEN c_1; LOOP FETCH c_1 INTO v_ename,v_sal,v_deptno; IF c_1%FOUND THEN dbms_output.put_line(姓名:|v_ename|工资:|v_sal|部门编号:|v_deptno);ELSE dbms_output.put_line(查询完毕!); dbms_output.put_line(共有:|c_1%ROWCOUNT|条记录); EXIT; END IF; END LOOP; CLOSE c_1; END;3、编写一个触发器,实现CLERK的工资只能涨不能降,奖金只能涨不能降, 同时也不能删除CLERK人员的信息 CREATE OR REPLACE TRIGGER bbbb BEFORE DELETE OR UPDATE OF sal,comm ON scott.emp FOR EACH ROW WHEN (old.job=CLERK) BEGIN CASE WHEN updating(sal) THEN IF :new.sal ld.sal THEN raise_application_error(-20111,CLERK人员工资只能涨不能降); END IF; WHEN updating(comm) THEN IF :m 4000 THEN RAISE_application_error(-20123,该员工工资4000太高了,裁员第一个考虑); END IF; IF v_comm IS NULL OR v_comm = 0 THEN RAISE_application_error(-20111,该员工没有奖金啊!); END IF; EXCEPTION WHEN no_data_found THEN dbms_output.put_line(您输入的员工编号不存在!); END yuangonginfo;5、编写一个PL/SQL程序执行第一题(自定义输入员工编号),捕获第一题(1.2、1.3)抛出的异常,换个提示输出到屏幕上.declare a12 exception; a13 exception; v_no NUMBER; pragma exception_init(a12,-20123); pragma exception_init(a13,-20111); BEGIN v_no := &n ; yuangonginfo(v_no); exception when a12 then dbms_output.put_line(该员工工资居然有4000,靠!); when a13 then dbms_output.put_line(该员工没有奖金,要给该员工加奖金了!);end;6、向dept表中插入10条数据,deptno从51开始,dname从dn51开始,loc从loc51开始 DECLARE v_counter NUMBER := 1; v_deptno dept.deptno%TYPE := 50; v_dname dept.dname%TYPE; v_dn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度房屋买卖合同纠纷调解协议范本和谐解决
- 二零二五年度房屋买卖合同附带房屋租赁权优先购买权协议
- 二零二五年度电脑系统集成与售后全面保修合同
- 二零二五年度光伏发电项目投资合同
- 二零二五年度防水材料研发成果转化合同
- 2025版法人股份转让与公司治理结构优化合同
- 二零二五年度古建筑修缮及改建工程合同
- 二零二五版无抵押个人消费借款合同
- 二零二五年度代缴社保及企业员工福利保障协议书
- 二零二五年石油化工设备型号采购合同
- 企业专利管理办法合集
- 非婚生子女抚养权协议书
- 新能源汽车动力系统故障诊断与维护技术创新研究
- 2025村后备干部考试题库(含答案)
- 《电工技能与实训》校本教材
- 安全生产考核巡查办法全文
- 支气管镜并发症应对护理
- 百世快运质量管理制度
- 国军标风险管理制度
- 气道阻塞急救处理方法
- 2025年陕西高考化学试卷试题真题及答案详解(山西宁夏青海适用)
评论
0/150
提交评论