Oracle_PLSQL测试题
Oracle PL/SQL测试题
姓名:___ _________
一、选择题
1、Oracle数据库中为新创建的表分配的初始空间通常为多大(B)
A、一个块
B、一个区
C、一个段
D、c一个表空间
2、记录树型结构表层级深度的伪列是( C)
A、rownum
B、rowid
C、level
D、row_number()
3、关于存储过程参数,正确的说法是(B)
A、存储过程的输出参数可以是标量类型,也可以是表类型
B、存储过程输入参数可以不输入信息而调用过程
C、可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2))
D、以上说法都不对
4、下列说法,正确的说法是(B)
A、只要在存储过程中有增删改语句,一定加自治事务
B、在函数内可以修改表数据
C、函数不能递归调用
D、以上说法都不对
5、下列哪个语句无需COMMIT而自动提交( A )
A、CREATE TABLE t(t1 NUMBER,t2 NUMBER)
B、UPDATE t SET t1=123
C、DELETE FROM t
D、INSERT INTO t V ALUES(1,3)
6、关于自定义函数,正确的说法是( B)
A、函数只有两种类型的参数
B、在函数内可以修改表数据
C、函数不能递归调用
D、以上说法都不对
7、有一产品表(编号,名称,价格,数量,所属分类),下列语法不正确的是(D)
A、select * from 产品表where价格>1000
B、select sum(价格) from 产品表group by 所属分类having max(价格)>1000
C、select所属分类,sum(价格) from 产品表where 价格>1000 group by 所属分类
D、select所属分类,sum(价格) from 产品表where max(价格)>1000 group by 所属分类
8、关于触发器,下列说法正确的是(B)
A、可以在表上创建INSTEAD OF 触发器
B、语句级触发器不能使用“:old”和“:new”
C、行级触发器不能用于审计功能
D、触发器可以显式调用
9、下列那些是Oracle的伪列(ACD)
A、ROWID
B、ROW_NUMBER()
C、LEVEL
D、ROWNUM
E、COLUMN
10、当表的重复行数据很多时,应该创建的索引类型应该是(C )
A、B树
B、reverse
C、bitmap
D、函数索引
12、在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?(C )
A、primary key
B、unique
C、check
D、not null
13、利用游标来修改数据时,FOR UPDA TE充分利用了事务的哪个特性?(D )
A、原子性
B、一致性
C、永久性
D、隔离性
14、下列说法不正确的是(D )
A、在PLSQL自定义函数中如果包含UPDA TE、DELETE、INSERT语句,不必在函数体内给出COMMIT;
B、自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用
C、自定义函数可以返回表类型
D、自定义函数中的参数可以是OUT类型
15、以下操作符中哪个常用做单行简单查询的操作符(A)
A、=
B、in
C、like
D、between
16、Oracle数据库利用索引时,是基于下列哪个选项进行检索的?(A )
A、rownum
B、rowcount
C、rowid
D、%rowtype
17、下列语句中,哪一个能返回为空的数据?( C)
A、SELECT *FROM emp WHERE contack=NULL
B、SELECT *FROM emp WHERE contack<>NULL基本的增删改查语句
C、SELECT *FROM emp WHERE contack IS NULL
D、SELECT *FROM emp WHERE contack IS NOT NULL
18、下列哪类集合是稀疏的(A)
A、index-by表
B、嵌套表
C、V ARRAY表
D、都是连续的,没有稀疏的
PL/SQL中没有数组的概念,他的集合数据类型和数组是相似的。在7.3以前的版本中只有一种集合,称为PL/SQL表,在这之后又有两种集合数据类型:嵌套表和varray。其中varray集合中的元素是有数量限制的,index_by表和嵌套表是没有这个限制的。index-by表是稀疏的,也就是说下标可以不连续,varray类型的集合则是紧密的,他的下标没有间隔。index_by表不能存储在数据库中,但是嵌套表和varray可以被存储在数据库中。
集合在使用时必须先使用type进行定义方可使用
19、下列说法错误的有(ACD )
A.在类方法中可用this来调用本类的类方法
B.在类方法中调用本类的类方法时可直接调用
C.在类方法中只能调用本类中的类方法
D.在类方法中绝对不能调用实例方法
二、编程题
1、查出当前用户模式下,每张表的记录数,以scott用户为例,结果应如下:
DEPT (4)
EMP (14)
BONUS 0
SALGRADE (5)
其实现的代码是:
declare
type tab_names is table of varchar2(20) index by binary_integer;
tab_name tab_names;
coun number;
str varchar2(100);
begin
select table_name bulk collect into tab_name from user_tables;
for i in tab_ab_www./doc/e68512756.html,st loop
str:='select count(*) from '||tab_name(i);
execute immediate str into coun;
dbms_output.put_line(tab_name(i)||'....................'||coun);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。