2012下半年理工Oracle11g期末模拟试卷
一、选择题(每空1分,共10分)
1、SQL语言中不属于数据定义的命令动词是() A.CREATE B.DROP C.GRANT D.ALTER
2、( )SQL语句将为计算列SAL*12生成别名Annual Salary
A.SELECT ename,sal*12 ?Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;
3、带有错误的视图可使用( )选项来创建。
A.FORCE
B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW
4、要以自身的模式创建私有同义词,用户必须拥有( )系统权限
A.CREATE PRIVATE SYNONYM B.CREATE PUBLIC SYNONYM C.CREATE SYNONYM
D.CREATE ANY SYNONYM
5、PL/SQL块中不能直接使用的SQL命令是( )。
A.SELECT B.INSERT C.UPDATE D.DROP
6、用于处理得到单行查询结果的游标为( )。
A.循环游标 B.隐式游标 C.REF游标 D.显式游标 7、公用的子程序和常量在( )中声明。
A.过程 B.游标 C.包说明 D.包主体
8、以下不属于命名的PL/SQL块的是( )。
A.程序包 B.过程 C.游标 D.函数
9、以下哪种备份方式需要在完全关闭数据库进行(A.无归档日志模式下的数据库备份 B.归档日志模式下的数据库备份 C.使用导出实用程序进行逻辑备份 D.以上都不对
10、( )参数用于确定是否要导入整个导出文件。
。 )
A.CONSTRAINTS B.TABLES C.FULL D.FILE
二、填空题(每空2分,共20分)
1、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:(假设MARTIN用户已存在)
_________________________[1]_____________________; 2、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。
BEGIN
FOR____[2]_____ IN ____[3]_____ LOOP
DBMS_OUTPUT.PUT_LINE(even_number*2);
END LOOP END;
3、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。
DECLARE
my_toy_price toys.toyprice%TYPE; CURSOR toy_cur IS
SELECT toyprice FROM toys WHERE toyprice<250;
BEGIN
________[4]_______ LOOP
_______________[5]_____________ EXIT WHEN toy_cur%NOTFOUND; DBMS_OUTPUT.PUT_LINE
(toy_cur%ROWCOUNT || '. 玩具单价:' || my_toy_price); END LOOP;
CLOSE toy_cur;
END;
4、完成以下PL/SQL块,功能是:创建一个函数
dept_name,其功能是接受职员编号后返回职员所在部门名称。(注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)
CREATE OR REPLACE FUNCTION dept_name
(emp_no NUMBER)
RETURN VARCHAR2 AS
dept_no NUMBER(2);
result dept.dname%TYPE;
BEGIN
___________________[6]_____________________________ SELECT dname INTO result FROM dept WHERE deptno = dept_no; ________[7]__________;
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
END;
5、完成以下PL/SQL块的功能是:创建一个触发器
biu_job_emp,无论用户插入记录,还是修改EMP表的job列,都将用户指定的job列的值转换成大写。