Oracle SQL内测题

2019-08-03 13:09

Oracle SQL测试题

考试时间为2个小时

本着考察大家能力的原则,可以查API但不能交流,必须独立完成

姓名:____________ 一、选择题(不定向)

1、关于存储过程参数,正确的说法是( A)

A、可以通过begin procedure(name=>’Jack’,age=90);end;方式调用一个过程。 B、存储过程输入参数可以不输入信息而调用过程 C、过程中接收的参数必须要指定长度。 D、以上说法都不对

2、下列说法,正确的说法是( B )

A、只要在存储过程中有增删改语句,一定加自治事务 B、在函数内可以修改表数据 C、函数不能递归调用 D、以上说法都不对

3、有一product产品表(编号id,名称name,价格price,数量amt,所属分类type),下列语法不正确的是( D )

A、select * from product where price>1000

B、select sum(price) from product group by type having max(price)>1000 C、select type,sum(price) from product where price>1000 group by type

D、select type,sum(price) from product where max(price)>1000 group by type

4、关于触发器,下列说法正确的是( B )

A、可以在表上创建INSTEAD OF 触发器 B、表级触发器不能使用:OLD和:NEW C、行级触发器不能使用:OLD和:NEW D、触发器可以显式调用

5、下列那些是Oracle的伪列(D)

A、ROWID

B、ROW_NUMBER() D、ROWNUM E、COLUMN

6、当表中的数据经常用于查询,而很少被修改时,则应该建立( A )

A、索引 B、检查约束 C、主键 D、外键

7、在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?( C)

A、primary key B、unique C、check D、not null

8、下列说法正确的是( D )

A、在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数体内给出COMMIT;

B、自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用 C、自定义函数可以返回表类型

D、自定义函数中的参数可以是OUT类型

*9、在表exam中存在以下数据: id 01 02 03 msg Product is 85% that all. Rose’s bag is write. Tom grade then 50% in class 要求查询表msg列中包含%(百分号)的sql,正确的是:(B) A、 select * from car where color like '%\\%%'; B、 select * from car where instr(color,'%')>0; C、 select * from car where color like '%%%' ;

D、 select * from car where color like '%/%%' escape '/';

10、关于delete from someTable与truncate someTable都可以清空表中的数据,它们的说法正确的是:(A) A、delete from someTable将会默认开始一个事务,事务提交后,数据将被删除。 B、delete from someTable会引发表或行级的delete触发器。 C、truncate someTable默认开始一个事务,并等待用户提交后生效。 D、truncate someTable将会引发表或行级的insert触发器。 11、关于事务,说法正确的是:(B,D) A、当执行一个DDL语句时,事务就开始了。 B、当执行insert,update,delete语句时事务即开始了。 C、可以通过set autocommit on;修改事务的状态。 D、当执行rollback或是commit时事务即结束。 12、表A中有一行数据name=’Jack’,事务提交方式为Oracle数据库的默认状态。此时scott_A客户端对此行进行了update A set name=’Rose’ where name=’Jack’的操作。而后scott_B也对此行进行了update A set name=’Mary’ where name=’Jack’的操作。在scott_A还没有提交时,scott_B的状态为:(A,D) A、抛出异常。因为scott_A的事务还没有结束。 B、进入等待。因为scott_A的事务还没有结束。 C、修改成功,此时name的值为Mary。 D、修改失败且退出,name的值为Rose。

13、以下可以正确约束sex为’1’或’0’的DDL语句为:(A,B) A、 create table stud( sex char(1) constraint ck check(sex in('1','0'))

);

B、create table stud( sex char(1) constraint ck check(sex='1' or sex='0')

);

C、create table stud(

sex char(1) constraint ck check(sex='1' and sex='0') );

D、create table stud( sex char(1) constraint ck check(sex in('1','0')) not null

);

14、以下创建主键正确的方式的是:(A) A、create table t( Id int primary key );

B、create table t( Id int primary key, Cardid int primary key );

C、create table t( id int constraint t_pk primary key );

D、create table t( Id int not null, Cardid int not null, Constraint t_pk primary key(id,cardid) );

15、存在以下plsql块:

Declare v_time varchar(30); Begin //line 1 End; 在line 1处写入以下哪一行代码可以让程序运行通过:(C) A、select sysdate from dual; B、dbms_output.put_line(‘hello’); C、select sysdate into v_time from dual; D、execute immediate 'select sysdate v from dual' into v;

16、关于视图view和同义词synonym的说法正确的是:(A)

A、view可以来自于一个或是多个查询。而synonym只可以某个固定的对象如表。 B、view和synonym都可以指向其他用户的表。(有权限的情况下)。

C、都可以通过view或是synonym修改源对象。 D、都可以在上面创建触发器。 17、以下代码块:

set serveroutput on;

begin for vv in (select name from person) loop //line 1 end loop;

end

在person表中,存在一列name,则正确输出name值的方式是:A A、dbms_output.put_line(vv.name); B、dbms_output.put_line(vv); C、不能正确的输出,因为这个plsql块前面没有declare关键字 D、dbms_output.put_line(name);

18、存在以下过程,它接收一个in out参数类型:

create or replace procedure p1(arg1 in integer,arg2 in out varchar2) as begin

dbms_output.put_line(arg1||arg2); end;

以下是调用代码: set serveroutput on; declare

v_arg2 varchar2(30); begin

v_arg2:='Jack'; //line 1 end

在line 1处写入哪一行,可以正确的调用p1过程:(B) A、p1(90,’Jack’); B、p1(90,v_arg2);

C、p1(arg1=>90,arg2=>v_arg2); D、p1(arg2=>v_arg2,arg1=>90);

19、下列哪些方法可以调用无参数过程 out_time (A,C)

A、exec out_time B、run out_time C、begin out_time; end; D、out_time startup;

20、以下哪些是事务的特点:(ABCD) A、原子性。

B、一致性。 C、隔离性。 D、持久性。

二、编程题

1、存在表T(a,b,c,d), 要根据字段c排序后取第21-30条记录显示(含a,b,c,d字段),请给出实现的SQL。 begin Select * from T order by c;

Select * from T where rownum>=21 and rownum<=30; End;

2、查找出当前用户模式下,每张表的记录数,和字段的名称信息,以scott用户为例,结果应如下:

DEPT...................................4行 字段:DEPT_NAME,DEPT_NO EMP...................................14行 字段:EMP_NO,EMP_DEPT 请完成实例的plsql块。 Declare

Dept_num int; Emp_num int;

Sel_dept varchar2(20); Sel_emp varchar2(20); Begin

Select count(*) into dept_num from dept; Select count(*) into emp_num from emp;

select column_name into sel_dept from user_tab_columns where table_name='DEPT'; Select column_name into sel_emp from user_tab_columns where table_name = 'EMP'; Dbms_output.put_line('DEPT...................................'||dept_num||'行'); Dbms_output.put_line('emp...................................'||emp_num||'行'); Dbms_output.put_line('字段'||sel_dept); Dbms_output.put_line('字段'||sel_emp); when others then End;

3、存在以下列车信息: 动车:D402 到达时间 开车时间 济南西 德州东 沧州西 天津南 廊坊 北京南 动车:G20 上海虹桥 南京南 济南西 北京南 起点站 07:39 08:02 08:32 08:51 09:14 20:00 07:40 08:04 08:34 08:53 终到站 到达时间 起点站 17:07 19:21 20:55 开车时间 16:00 17:09 19:23 终到站

要求设计:

1:列车运行管理系统的表结构。 2:要求可以根据出发地、和目的地查询出列车号,包括始发车和路过的列车。 如:查询济南到北京的列车,即可以列出D402,和过路车G20。 3:要求画出E-R实体关系图。 4:要求写出实现的SQL代码。 5:要求可以扩展和添加新的列车和时刻信息。

Create table d402(motor_car_num varchar2(10) primary key,arrive_time varchar2(10),drive_time varchar2(10));

Select * from motor_car where depart_place = ‘济南’


Oracle SQL内测题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全国计算机信息高新技术考试办公软件中级操作员考试题库 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: