试卷
一、 选择题(多项选择,每题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块中。
  2FOR 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.
4、 All the arguments are not compulsory.不需要给所有的参数赋值。
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小时内删除。