当前位置:文档之家› oracle期末考试试题及答案

oracle期末考试试题及答案

1、以下()内存区不属于SGA。

A.PGA B.日志缓冲区C.数据缓冲区D.共享池2、()模式存储数据库中数据字典的表和视图。

A.DBA B.SCOTT C.SYSTEM D.SYS3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。

A.HR B.SCOTT C.SYSTEM D.SYS4、()服务监听并按受来自客户端应用程序的连接请求。

A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer5、()函数通常用来计算累计排名、移动平均数和报表聚合等。

A.汇总B.分析C.分组D.单行6、()SQL语句将为计算列SAL*12生成别名Annual SalaryA.SELECT ename,sal*12 ‘Annual Salary' FROM emp。

B.SELECT ename,sal*12 “Annual Salary”FROM emp。

C.SELECT ename,sal*12 AS Annual SalaryFROM emp。

D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp。

7、锁用于提供( )。

A.改进的性能B.数据的完整性和一致性C.可用性和易于维护D.用户安全8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。

A.行共享B.行排他C.共享D.排他9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。

A.FOR INSERT B.FOR UPDATEC.FOR DELETE D.FOR REFRESH10、使用( )命令可以在已分区表的第一个分区之前添加新分区。

A.添加分区B.截断分区C.拆分分区D.不能在第一个分区前添加分区11、( )分区允许用户明确地控制无序行到分区的映射。

A.散列B.范围C.列表D.复合12、可以使用()伪列来访问序列。

A.CURRVAL和NEXTVALB.NEXTVAL和PREVALC.CACHE和NOCACHE D.MAXVALUE和MINVALUE13、带有错误的视图可使用()选项来创建。

A.FORCEB.WITH CHECK OPTIONC.CREATE VIEW WITH ERRORD.CREATE ERROR VIEW14、在联接视图中,当()时,该基表被称为键保留表。

1 / 6A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键15、在列的取值重复率比较高的列上,适合创建()索引。

A.标准B.唯一C.分区D.位图16、要以自身的模式创建私有同义词,用户必须拥有()系统权限A.CREATE PRIVATE SYNONYMB.CREATE PUBLIC SYNONYMC.CREATE SYNONYMD.CREATE ANY SYNONYM17、PL/SQL块中不能直接使用的SQL命令是()。

A.SELECTB.INSERTC.UPDATE D.DROP18、以零作除数时会引发()异常。

A.VALUE_ERROR B.ZERO_DIVIDEC.STORAGE_ERRORD.SELF_IS_NULL19、要更新游标结果集中的当前行,应使用()子句。

A.WHERE CURRENT OF B.FOR UPDATEC.FOR DELETED.FOR MODIFY20、用于处理得到单行查询结果的游标为()。

A.循环游标B.隐式游标C.REF游标D.显式游标21、公用的子程序和常量在()中声明。

A.过程B.游标C.包规范D.包主体22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTSB.USER_TEXTC.USER_SOURCE D.USER_DESC23、以下不属于命名的PL/SQL块的是()。

A.程序包B.过程C.游标D.函数24、()包用于显示PL/SQL块和存储过程中的调试信息。

A.DBMS_OUTPUTB.DBMS_STANDARDC.DBMS_INPUTD.DBMS_SESSION25、Oracle的内置程序包由()用户所有。

A.SYS B.SYSTEMC.SCOTTD.PUBLIC26、()触发器允许触发操作中的语句访问行的列值。

A.行级B.语句级C.模式D.数据库级27、在非归档日志方式下操作的数据库禁用了()。

2 / 6A.归档日志B.联机日志C.日志写入程序D.日志文件28、以下哪种备份方式需要在完全关闭数据库进行()。

A.无归档日志模式下的数据库备份B.归档日志模式下的数据库备份C.使用导出实用程序进行逻辑备份D.以上都不对29、()方式的导出会从指定的表中导出所有数据。

A.分区B.表C.全部数据库D.表空间30、()参数用于确定是否要导入整个导出文件。

A.CONSTRAINTSB.TABLESC.FULL D.FILE二、填空题(每空2分,共40分)1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:____Connect martin/martinpass@aptech___;2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:(假设MARTIN用户已存在)_____Grant select on scott.emp to martin_______________;3、创建表employee的副本,但不包含表中的记录:CREATE TABLE employee_copy AS_______Select * from employee where1=2_____;4、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:SELECT ___To_char__(itemrate,'C99999') FROM itemfile;5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0 SELECT itemdesc, __NVL_(re_level,0) FROM itemfile;6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。

BEGINFOR__even_number___ IN __1..25_LOOPDBMS_OUTPUT.PUT_LINE(even_number*2);END LOOPEND;7、完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。

将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。

DELCAREempname employee.ename%TYPE。

3 / 6eno employee.empno%TYPE。

BEGINeno:='&employee_number'。

___SELECT ename INTO empname FROM employee WHERE empno=eno。

___。

DBMS_OUTPUT.PUT_LINE(‘职员姓名:'||empname)。

______[9]______WHEN VALUE_ERROR THENDBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大')END。

8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。

DECLAREmy_toy_price toys.toyprice%TYPE。

CURSOR toy_cur ISSELECT toyprice FROM toysWHERE toyprice<250。

BEGIN________[10]_______LOOP_______________[11]_____________EXIT WHEN toy_cur%NOTFOUND。

DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩具单价:' ||my_toy_price)。

END LOOP。

CLOSE toy_cur。

END。

9、完成以下PL/SQL块,功能是:使用游标显示销售报表。

如果目标销售额(tsales)大于实际销售额(asales),则显示消息“需提高销售额”。

如果tsales等于asales,则显示消息“已达到销售额”,否则显示消息“销售业绩出色”DECLARECURSOR sales_cur IS SELECT * FROM salesdetails。

BEGIN_____________________[12]______________IF sales_rec.tsales > sales_rec.asales THENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||' 需提高销售额')。

ELSEIF _____________[13]______________ THENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'已达到销售额')。

ELSEDBMS_OUTPUT.PUT_LINE('产品:' ||sales_rec.pid||'销售业绩出色')。

END IF。

END IF。

END LOOP。

END。

4 / 610、完成以下PL/SQL块,功能是:创建一个交换两数的过程。

CREATE OR REPLACE PROCEDUREswap(p1 IN OUT NUMBER, p2____[14]_____ NUMBER) ISv_temp NUMBER。

BEGINv_temp := p1。

p1 := p2。

p2 := v_temp。

END。

11、完成以下PL/SQL块,功能是:创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。

(注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)CREATE OR REPLACE FUNCTIONdept_name (emp_no NUMBER)RETURN VARCHAR2 ASdept_no NUMBER(2)。

相关主题