ORACLE考题
                          姓名
一、选择题(每题1.5分)
1,如何删除sales表中产品类型为toys的profits列的列值? (A)
a) UPDATE sales SET profits = NULL WHERE product_type = 'TOYS'
b) DELETE profits FROM sales WHERE product_type = 'TOYS'
c) DELETE FROM sales WHERE product_type = 'TOYS'
d) DELETE FROM sales
2,在Oracle中,下面用于限制分组函数的返回值的字句是(B) 
a)  WHRER 
b)  HAVING 
c)  ORDER BY
d) 无法限定分组函数的返回
3,在Oracle PL/SQL中,执行动态SQL的语句是(D) 
a) NXECUTE 
b) START 
c) RUN 
d) EXECUTE IMMEDIATE 
4,下列表空间中 __(D)__表空间是运行一个数据库必须的一个表空间。
A)ROLLBACK   
B)TOOLS 
C)TEMP     
D)SYSTEM
5, PL/SQL代码段中注释符号是___(C)___。 
A) //        B)  \\      C)  --        D)  ,
6,在PL/SQL代码段的异常处理块中 捕获所有异常的关键词是______。 (A)
A、OTHERS      B、ALL    C、Exception      D、ERRORS
7, SQL语句中修改表结构的命令是  (C)      。
A、MODIFY TABLE        B、MODIFY STRUCTURE  C、ALTER TABLE        D、ALTER STRUCTURE
8,在oracle中获取前10条的关键字是(D)
A)    top      B)Limit        C)first            D) rownum
9,下面那个不是oracle程序设计中的循环语句( A)
  A)    for… end for        B) loop…end loop    C)  while…end loop    D) for… end loop
10,以下哪个不是数据库的物理组件(A)。
A)  表空间  B)  数据文件  C)  日志文件  D)  控制文
11,请根据PRODUCT_NAME列从PRODUCT表查询中过滤返回的数据。下列哪个子句包含相应过滤条件的引用?(C)
A)select      B)from      C)where      D)having
12,请从订单表中取得数据,其中包括三个列客户名、订单时间与订单费用。可以用下列哪个where子句查询ORDERS表,取得客户A超过2700的订单?(D)
A)where 客户名= ‘A’;
B)where 客户名= ‘A’ and 订单费用 < 2700;
C)where 客户名= ‘A’ or 订单费用 > 2700;
D)where 客户名= ‘A’ and 订单费用 > 2700;
13,Oracle中要生成数据库表,下列哪个选项是无效表生成的语句?(D)
A)create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));
B)create table my_cats as select * from cats where owner = ‘ME’;
C)create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));
D)create table 51cats as select c_name, c_weight from cats where c_weight > 5;
14,试图在Oracle生成表时遇到下列错误:ORA-00955-name is already used by existing object。下列哪个选项无法纠正这个错误?(C)
A)以不同的用户身份生成对象。      B)删除现有同名对象
C)改变生成对象中的列名。          D)更名现有同名对象。
15,删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除?(B)
A)相关约束    B)子表    C)相关触发器    D)相关索引
16,下面哪一个SQL语句将删除DEPT表中的所有行?(D)
A)DROP TABLE dept;                  B)DELETE FROM dept;
C)TRUNCATE TABLE dept;              D)DELETE *.* FROM dept
17,下面哪一个SQL语句将USER表的名称更改为USERINFO? (C)
A)ALTER TABLE USER RENAME AS USERINFO;
B)RENAME TO USERINFO FROM USER;
C)RENAME USER TO USERINFO;
D)RENAME USER AS USERINFO;
18,假定USER表的PRIMARY KEY约束名为USER_ID_PK,下面哪一个语句将删除这个约束?(C)
A)DROP CONSTRAINT USER_ID_PK;
B)ALTER TABLE USER DROP USER_ID_PK;
C)ALTER TABLE USER DROP CONSTRAINT USER_ID_PK;
D)ALTER TABLE USER DROP PRIMARY KEY;
19,哪个函数能返回字符串的首字符。(B)
A)LTRIM    B)RTRIM  C)MOD  D)INSERT 
20,哪个语句不会建立隐式事务?(D)
A)INSERT  B)UPDATE  C)DELETE  D)SELECT
21,在Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值(A)
A)select ename, nvl(comm.,0) from emp;
B)select ename, null(comm.,0) from emp;
C)SELECT ename,NULLIF(comm,0)FROM emp;
D)SELECT ename,DECODE(comm.,NULL,0)FROM emp;
22,在Oracle 中,下列不属于字符数据类型的是(D)
A)VARCHAR2
B)LONG
C)LONG RAW
D)CLOB
23,检查下列SQL的输出
SQL> select a.deptno,a.job,b.loc,sum(a.sal)
  2  from dmp a,dept b
  3  where a.deptno = b.depton
  4  group by a.deptno,a.job,b.loc
  5 order by sum(a.sal);
这个查询按哪个列的顺序返回输出?( D )
A)A.DEPTON    B)A.JOB    C)B.LOC    D)SUM(A.SAL)
24,Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是(C)
insert语句字段顺序A)select seq.ROWNUM from dual;
B)select seq.ROWID from dual;
C)select seq.CURRVAL from dual;
D) select seq.NEXTVAL from dual;
 
25,在Oracle中,当控制一个显式游标时,以下哪种命令包含INTO子句(  C  )
A)OPEN
B)CLOSE
C)FETCH
D)CURSOR
26,在表table中有列的col1,其数据类型为INTERGER,在PL/SQL的DECLARE部分声明了一个变量var1,语句为:
l1%TYPE;
不久后,执行了语句:
ALTER TABLE tabl MODIFY (col1 (NUMBER (5,2)));
则var1 的数据类型为 (  B  )
A)整数型
B)数值型
C)字符型
D)以上皆非
27,在Oracle中,(  C  )操作符返回两个查询所选定的所有不重复的行
A)Intersect
B)Minus
C)Union
D)Or
28,在Oracle中。关于程序包的描述错误的是(B)
A)程序包是一中数据对象,它是对相关PL/SQL类型,子程序,游标,异常,变量和常量的封装
B)程序包中私有对象是通过PRIVATE关键字表示的
C)PL/SQL允许两个或多个打包的子程序具有同一名字,只需要子程序接受的参数数据类型不同
D)程序包具有模块化,信息影藏,新加功能及性能更佳等优点
29,在 Oracle中,下列(C)语句定义了一个游标。
A)CURSOR cur For SELECT * FROM cd    WHERE category=’ROCK’
B)CREATE CURSOR cur FOR SELECT * FROM cd WHERE category=’ROCK’:
C)CURSOR cur IS SELECT * FROM cd WHERE category=’ROCK’;
D)CREATE CURSOR cur IS SELECT * FROM cd WHERE category=’ROCK’;
30,下面对序列venseq修改的语句,错误的是( A ).
A)ALTER SEQUENCE venseq START WITH 1

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