填空(每空1分,共5分)
1、SQL是处理关系数据库的标准语言,用于事务回滚的语句是,用于事务提交的语句是。 2、查询语句中,关键字可从 SELECT 语句的结果中除去重复的行,子句可指定结果集的排序,有ASC、DESC两种排序顺序,关键字可以指定结果集分组。
不定项选择题(每空2分,必需全部选正确,共 32 分) 1、请看下面的查询语句
SELECT * FROM tables WHERE name LIKE '%LOG'
执行该语句可以: ( )
A、从表tables中查找name为\"%LOG\"的记录
B、从表tables中查找name中最前面三个字符是\"LOG\"的所有记录 C、从表tables中查找name中最后面三个字符是\"LOG\"的所有记录 D、从表tables中查找name为LIKE '%LOG'的记录
2、请看下面的删除语句:
DELETE employee_id, salary, job_id FROM employees WHERE dept_id = 90;
请问这个删除语句为什么会执行失败?( ) A、EMPLOYEES表中没有dept_id为90的记录 B、不能在删除语句的DELETE后面指定列名 C、不能删除JOB_ID列,因为它是一个非空列 D、不能删除EMPLOYEE_ID列,因为它是主键
3、请看下面的查询语句:
SELECT LAST_NAME, SALARY, DEPARTMENT_ID FROM EMP
WHERE DEPARTMENT_ID = NULL;
这个查询语句需要查出所有没有指派部门的职员,请问以下哪个说法是正确的?( ) A、查询语句可以显示需要的结果
B、查询语句中,WHERE子句的列名需要修改为LAST_NAME C、查询语句中,WHERE子句中的操作符需要修改为IS D、查询语句中,WHERE子句中需要修改为使用外连接
4、请看下面的触发器语句:
CREATE OR REPLACE TRIGGER update_emp AFTER UPDATE ON emp BEGIN
INSERT INTO audit_table (who, audited) VALUES(USER, SYSDATE); END;
你执行了一个emp表的update操作,这个update操作修改了十条记录。请问此时有( 记录插入到AUDIT_TABLE表中?
) A、1 B、10 C、none
D、记录数等于emp表的总记录数
5、在Oracle数据库中,需要以\"2013-8-7 15:32:28\"的格式显示系统时间,请问以下哪个SELECT语句可以实现?( )
A. SELECT TO_DATE(SYSDATE, 'FMDAY, DD Month, YYYY') FROM dual; B. SELECT TO_CHAR(SYSDATE, 'yyyymidd hh24mmss') FROM dual; C. SELECT TO_CHAR(SYSDATE, 'yyyy-mi-ddhh:mm:ss') FROM dual; D. SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') FROM dual;
6、在oracle数据库中,使用imp工具时,参数ignore=y的作用有:( ) A、在imp过程中,使其忽略数据完整性限制 B、在imp过程中,使其忽略对象已存在的错误 C、在imp过程中,强制导入,不产生出错信息 D、在imp过程中,不导入重复记录 7、在oracle数据库中,某个session异常,你需要kill掉这个session,需要从数据字典v$session中获得下列哪些值?( ) A、sid B、pid C、serial# D、uname
8、在oracle数据库中,关于分区表,以下说法哪些是正确的:( ) A、对每一个分区,可以建立本地索引 B、可以用exp工具只导出单个分区的数据
C、分区表的索引最好建为全局索引,以便于维护
D、可以通过alter table命令,把一个现有分区分成多个分区
9、SQL语言中使用like操作符时,字符串中匹配零个或多个字符的任意字符串的通配符使用符号 ( ) A、? B、% C、_ D、*
10、数据库执行SELECT查询语句时,各子句的书写先后顺序是:( ) A、HAVING, WHERE, GROUP BY B、GROUP BY, HAVING, WHERE C、WHERE, GROUP BY, HAVING D、WHERE, HAVING, GROUP BY
11、请看下面的PL/SQL程序的IF-ELSIF-ELSE判断结构 IF v_num> 5 THEN v_example := 1;
ELSIF v_num> 10 THEN v_example := 2;
ELSIF v_num< 20 THEN
v_example := 3;
ELSIF v_num< 39 THEN v_example := 4;
ELSE v_example := 5; END IF;
如果 V_NUM的值为37, 请问V_EXAMPLE将赋值为() A、1 B、2 C、3 D、4 E、5
12、通常情况下使用索引可以提高查询速度,请问以下什么情况使用索引会降低查询的速度?()
A、表的记录很少
B、在WHERE子句中使用索引字段 C、索引字段包含大量的NULL值
D、查询数据比例占表数据百分比过大
13、在Oracle数据库中,以下哪个语句可以在SQL*Plus中执行emp_rec.sql脚本,?() A、&emp_rec.sql B、@emp_rec.sql C、GET emp_rec.sql D、SAVE emp_rec.sql
14、将一台IBM服务器上Oracle 9.2版本的数据库成功导出的DMP文件,导入到另一台HP服务器9.0版本的数据库时遇到IMP-00017,IMP-00003,ORA-00922等错误。请问数据导入失败的原因是()
A、 Oracle不支持跨平台的数据导入导出
B、 Oracle不支持不同数据库版本间的数据导入导出
C、 EXP/IMP工具\"向上兼容\",不允许将高版本EXP导出的文件导入到低版本数据库中 D、 EXP/IMP工具\"向下兼容\",不允许将低版本EXP导出的文件导入到高版本数据库中
15、请问以下哪个数据字典可以查询表空间的剩余空间信息?() A. V$FREE_SPACE B. DBA_FREESPACE C. DBA_FREE_SPACE D. FREE_SPACE
16、在Oracle数据库中,一张百万级的大表占用2G的空间,使用DELETE删除所有的记录,并且提交删除操作。然后执行:select count(*) from billlog; 但等了很长时间才返回结果等于0。查询耗费这么长时间的原因是( ) A、这个表被分成了多个分区
B、这个表不是用TRUNCATE命令清除记录的,highwatermark未被复位。 C、这个表上建立了太多索引
D、这个数据库有明显的性能问题,需要做全面检查,进行调优。
三、简答题(每空3分,简述4分,共13分) 数据库中,业务表im_record的结构如下:
cardno char(20),--------卡号 pin char(6),------------密码
startdate char(8)-------开启时间
record表有2000万条记录,现需要删除开启时间在2002年1月1日以前的记录(即:startdate<’20020101’),约有500万条记录。为了加快删除的处理过程,并且不影响该表的正常操作,维护人员使用存储过程来删除目标记录。请补充完整下列存储过程的A,B,C三条语句。并请说明如果不使用循环变量来控制每500条记录删除的提交,会有什么结果?
declare i integer; begin i:=0;
for cc in (select rowid from im_record where startdate if mod(i,500) = 0 then B end if; C end; 答: A: B: C: 数据库影响(1分): 因篇幅问题不能全部显示,请点此查看更多更全内容