oracle数据库期末考试试题及答案A1、以下()内存区不属于SGA。
A.PGA B.日志缓冲区C.数据缓冲区D.共享池D2、()模式存储数据库中数据字典的表和视图。
A.DBA B.SCOTT C.SYSTEM D.SYSC3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HR B.SCOTT C.SYSTEM D.SYSA4、()服务监听并按受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServerB5、()函数通常用来计算累计排名、移动平均数和报表聚合等。
A.汇总B.分析C.分组D.单行B6、()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”) FROM12/ 1emp;B7、锁用于提供( )。
A.改进的性能B.数据的完整性和一致性C.可用性和易于维护D.用户安全C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。
A.行共享B.行排他C.共享D.排他B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。
A.FOR INSERT B.FOR UPDATEC.FOR DELETE D.FOR REFRESHC10、使用( )命令可以在已分区表的第一个分区之前添加新分区。
A.添加分区B.截断分区C.拆分分区D.不能在第一个分区前添加分区C11、( )分区允许用户明确地控制无序行到分区的映射。
A.散列B.范围C.列表D.复合C12、可以使用()伪列来访问序列。
A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUEA13、带有错误的视图可使用()选项来创建。
12/ 2A.FORCEB.WITH CHECK OPTIONC.CREATE VIEW WITH ERRORD.CREATE ERROR VIEWB14、在联接视图中,当()时,该基表被称为键保留表。
A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键D15、在列的取值重复率比较高的列上,适合创建()索引。
A.标准B.唯一C.分区D.位图C16、要以自身的模式创建私有同义词,用户必须拥有()系统权限A.CREATE PRIVATE SYNONYMB.CREATE PUBLIC SYNONYMC.CREATE SYNONYMD.CREATE ANY SYNONYMD17、PL/SQL块中不能直接使用的SQL命令是()。
A.SELECT B.INSERTC.UPDATE D.DROPB18、以零作除数时会引发()异常。
A.VALUE_ERROR B.ZERO_DIVIDE12/ 3C.STORAGE_ERROR D.SELF_IS_NULLA19、要更新游标结果集中的当前行,应使用()子句。
A.WHERE CURRENT OF B.FOR UPDATEC.FOR DELETE D.FOR MODIFYB20、用于处理得到单行查询结果的游标为()。
A.循环游标B.隐式游标C.REF游标D.显式游标C21、公用的子程序和常量在()中声明。
A.过程B.游标C.包规范D.包主体C22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTS B.USER_TEXTC.USER_SOURCE D.USER_DESCC23、以下不属于命名的PL/SQL块的是()。
A.程序包B.过程C.游标D.函数A24、()包用于显示PL/SQL块和存储过程中的调试信息。
A.DBMS_OUTPUTB.DBMS_STANDARDC.DBMS_INPUTD.DBMS_SESSIONA25、Oracle的内置程序包由()用户所有。
12/ 4A.SYS B.SYSTEMC.SCOTT D.PUBLICA26、()触发器允许触发操作中的语句访问行的列值。
A.行级B.语句级C.模式D.数据库级A27、在非归档日志方式下操作的数据库禁用了()。
.归档日志 A B.联机日志C.日志写入程序D.日志文件。
)、以下哪种备份方式需要在完全关闭数据库进行(A28 A.无归档日志模式下的数据库备份B.归档日志模式下的数据库备份C.使用导出实用程序进行逻辑备份.以上都不对D ()方式的导出会从指定的表中导出所有数据。
B29、.表B.分区AC.全部数据库D.表空间)参数用于确定是否要导入整个导出文件。
C30、(TABLES B.CONSTRAINTS A.FILE .D .CFULL二、填空题(每空分)402分,共12/ 51、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:Connect martin/martinpass@aptech2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:(假设MARTIN用户已存在)Grant select on scott.emp to martin3、创建表employee的副本,但不包含表中的记录:CREATE TABLE employee_copy AS select * from employee where 1=24、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:SELECT to_char (itemrate,'C99999') FROM itemfile;5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0SELECT itemdesc, NVL (re_level,0) FROM itemfile;6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。
BEGINFOR even_numbe r IN 1..25LOOP12/ 6DBMS_OUTPUT.PUT_LINE(even_number*2);END LOOPEND;7、完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。
将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。
DELCAREempname employee.ename%TYPE;;eno employee.empno%TYPE;BEGINeno:='&employee_number';select ename into empname from employee whereempno=enoDBMS_OUTPUT.PUT_LINE(‘职员姓名:'||empname); exceptionWHEN VALUE_ERROR THENDBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大') END;8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。
DECLAREmy_toy_price toys.toyprice%TYPE;12/ 7CURSOR toy_cur ISSELECT toyprice FROM toysWHERE toyprice<250;BEGINOpen toy_curLOOPFetch toy_cur into my_toy_priceEXIT WHEN toy_cur%NOTFOUND;玩DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '.:' || my_toy_price); 具单价END LOOP;CLOSE toy_cur;END;块,功能是:使用游标显示销售报表。
如果目PL/SQL9、完成以下,则显示消息“需提)大于实际销售额(asales)标销售额(tsales,则显示消息“已达到销售asales等于高销售额”。
如果tsales ,否则显示消息“销售业绩出色”额”DECLARECURSOR sales_cur IS SELECT * FROM salesdetails;BEGINFor sales_res in sales_cur loopIF sales_rec.tsales > sales_rec.asales THEN12/ 8需提'||sales_rec.pid||' 产品:DBMS_OUTPUT.PUT_LINE(' '); 高销售额ELSETHENsales_res.tsales=sales_res.asales IF'||sales_rec.pid||'产品:DBMS_OUTPUT.PUT_LINE(''); 已达到销售额ELSE' ||sales_rec.pid||'产品:DBMS_OUTPUT.PUT_LINE(''); 销售业绩出色END IF;END IF;END LOOP;END;PL/SQL块,功能是:创建一个交换两数的过程。
10、完成以下CREATE OR REPLACE PROCEDUREin outs IN OUT NUMBER, p2 NUMBER) ISv_temp NUMBER;BEGINv_temp := p1;p1 := p2;p2 := v_temp;END;12/ 9,其dept_name、完成以下PL/SQL块,功能是:创建一个函数11dept 部门名称在功能是接受职员编号后返回职员所在部门名称。
(注:)表中,职员所在部门号的列名为deptno表中,而职员信息在emp(emp_no dept_name REPLACE FUNCTION CREATE OR NUMBER)RETURN VARCHAR2 ASdept_no NUMBER(2);dept.dname%TYPE; resultBEGINwherefromempdeptnointodept_noSelecetempno=emp_noSELECT dname INTO result FROM deptWHERE deptno = dept_no;Return resultEXCEPTIONWHEN OTHERS THENRETURN NULL;END;,过程(有一个输入参数)pack_me、要执行包中的order_proc12 ,可以输入以下命令:假设参数值为'002'EXECUTEpack_ma.order-proc(‘002')13、完成以下PL/SQL块的功能是:创建一个触发器biu_job_emp,12/ 10都将用户指定的列,表的job无论用户插入记录,还是修改EMP 列的值转换成大写。