试卷
一、 选择题(多项选择,每题5分,共计20分)
1、 PL/SQL能直接执行哪些语句?ABC
A UPDATE
B INSERT
C DELETE
D REVOKE
2、 下列哪类数据是放在数据库外的?C
A BLOB
B CLOB
C BFILE
D VARCHAR2
3、 下列哪些是隐式游标的属性之一?BD
A SQL%ROWCOUNT;
B SQL%ROWID基本的sql语句有哪些;
C SQL%FOUND;
D SQL%ISOPEN;
4、 下列哪些关于NULL的描述错误?BD
A 一个NULL不与其他任何值相等
B 一个NULL等于NULL
C 比较操作中存在NULL值,永远不等
D 以上都不对
二、 问答题
1、 辨析以下片段是否正确,并阐述自己的观点(10分)。
(1)以下情况是否可行
GOTO label_inside_if;
IF status = ‘new’ THEN
<<label_inside_if>>
null;
END IF;
答:错误,目标标签与GOTO语句不在同样的PL/SQL块中。
(2)FOR month_num IN 1 .. 12
LOOP
<< do_a_month >>
do_something();
END LOOP;
GOTO do_a_month;
答:错误,目标标签在循环内部,从外层跳转到内层是非法的。
2、 简述采用游标FOR循环取数的好处(3分)
3、 Advantages of using for loop.
1. It’s easy to use.
2.All the arguments are not compulsory.
3. Initial values, test condition, increment arguments can be passed at the same place.
1. It’s easy to use.
2.All the arguments are not compulsory.
3. Initial values, test condition, increment arguments can be passed at the same place.
4、 All the arguments are not compulsory.不需要给所有的参数赋值。
be passed at the same place 初始值,判定条件,递增/减语句可以在程序同一个语句中输
be passed at the same place 初始值,判定条件,递增/减语句可以在程序同一个语句中输
入。
5、 简述对OWI-OWO原则的理解(5分)
6、 简述隐式游标属性和显式游标属性的区别(12分)
三、 编程题
表结构:
员工表(EMP) | ||||||
序号 | 字段 | 中文名 | 类型 | 是否为空 | 是否主/外键 | 备注 |
1. | EMPNO | 员工编号 | NUMBER(4) | N | Primary key | |
2. | ENAME | 员工姓名 | VARCHAR2(10) | |||
3. | JOB | 工作岗位 | VARCHAR2(9) | |||
4. | MGR | 主管编号 | NUMBER(4) | |||
5. | HIREDATE | 雇佣日期 | DATE | |||
6. | SAL | 工资 | NUMBER(7,2) | |||
7. | COMM | 津贴 | NUMBER(7,2) | |||
8. | DEPTNO | 部门编号 | NUMBER(2) | Foreign key | ||
部门表(DEPT) | ||||||
序号 | 字段 | 中文名 | 类型 | 是否为空 | 是否主键 | 备注 |
1. | DEPTNO | 部门编号 | NUMBER(2) | N | Primary key | |
2. | DNAME | 部门名称 | VARCHAR2(14) | |||
3. | LOC | 所在城市 | VARCHAR2(13) | |||
员工表(EMP)示例数据 | ||||||||
EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | |
1 | 7499 | ALLEN | SALESMAN | 7698 | 1981-2-20 | 1600.00 | 300.00 | 30 |
2 | 7521 | WARD | SALESMAN | 7698 | 1981-2-22 | 1250.00 | 500.00 | 30 |
3 | 7566 | JONES | MANAGER | 7839 | 1981-4-2 | 2975.00 | 20 | |
4 | 7654 | MARTIN | SALESMAN | 7698 | 1981-9-28 | 1250.00 | 1400.00 | 30 |
5 | 7698 | BLAKE | MANAGER | 7839 | 1981-5-1 | 2850.00 | 30 | |
6 | 7782 | CLARK | MANAGER | 7839 | 1981-6-9 | 2450.00 | 10 | |
7 | 7788 | SCOTT | ANALYST | 7566 | 1987-4-19 | 3000.00 | 20 | |
8 | 7839 | KING | PRESIDENT | 1981-11-17 | 5000.00 | 10 | ||
9 | 7844 | TURNER | SALESMAN | 7698 | 1981-9-8 | 1500.00 | 0.00 | 30 |
10 | 7902 | FORD | ANALYST | 7566 | 1981-12-3 | 3000.00 | 20 | |
部门表(DEPT)示例数据 | |||
DEPTNO | DNAME | LOC | |
1 | 10 | ACCOUNTING | NEW YORK |
2 | 20 | RESEARCH | DALLAS |
3 | 30 | SALES | CHICAGO |
4 | 40 | OPERATIONS | BOSTON |
1、编写SQL语句:根据员工表(EMPLOYEE)结构描述,写出创建EMPLOYEE表的SQL语句。(10分)
2、编写SQL语句:员工表(EMP)中按照EMPNO排序后显示第6-10条记录的员工编号、员工姓名、雇佣日期。(10分)
3、编写一个简单的Oracle存储过程:要求根据主管编号查询出其直接下级员工和所有下级员工(提示:入参为主管编号,出参为分别输出下级员工集合和所有下级员工集合)。(3
0分)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论