选择
1、下列各选项中,关于序列描述哪一项是不正确的?( )
A、序列是Oracle提供的用于产生一系列唯一数字的数据库对象。 B、序列并不占用实际的存储空间。
C、使用序列时,需要用到序列的两个伪列NEXTVAL,与CURRVAL,其中,NEXTVAL将返回序列生成的下一个值,而CURRVAL返回序列的当前值。
D、任何时候都可以使用序列的伪列CURRVAL返回序列当前序列。 2、ORACLE中,用来判断列值是否为空的操作符是 ( ) A.==NULL B.NULL IS C.AS NULL D.IS NULL
3、下列选项中,那一部分不是Oracle实例的组成部分( ) A、系统全局区SGA B、PMON后台进程 C、控制文件 D、DBWR数据库写入进程
4、使用传统导出工具EXP导出SCOTT用户的所有对象时,应该选择下列哪一项( ) A.TABLES B.SCHEMAS C.OWNER D.FULL=Y
5、在Oracle中,一个用户拥有的所有数据库对象统称为( ) A、模式 B、表空间 C、数据库 D、实例
6、在oracle中,使用HAVING子句也可以进行条件查询,以下选项说法是正确的是( ) A、HAVING子句和WHERE子句相同 B、HAVING子句用于行的条件查询 C、HAVING子句用于已分组结果的条件查询D、以上皆非 7、选择不正确的( )
(1)用户存储过程只能定义在当前数据库中,可以使用SQL命令语句或界面方式创建存储过程。
(2)默认情况下,用户创建的存储过程归登录数据库的用户所拥有,DBA可以把许可授权给其他用户。
(3)在存储过程的定义体中,不能使用下列对象创建语句 CREATE VIEW DEFAULT RULE PROCEDURE TRIGGER 8、函数头部中的RETURN语句的作用是什么?( )
A、声明返回的数据类型 B、声明返回值的大小和数据类型 C、调用函数 D、函数头部不能使用RETURN语句
9、有字符串数据“test”分别存放到char(10)和varchar2(10)类型的字段中,其实际存储长度为( )
A、10 10 B、4 4 C、10 4 D、4 10 10、下列哪一个动作不会激发一个触发器( )?
A、更新数据 B、查询数据 C、删除数据 D、插入数据 11、对于下面的函数,哪个语句将成功地调用?( )
CREATE OR REPLACE FUNCTION Cale_Sum(Addend_X number.Addend_Y number)
RETURN number AS
Sum number BEGLV
Sum=Addend_X+Addend_Y.Return Sum END
A.Cale_sum B. EXECUTE Cale_sum(45)
C. EXECUTE Cale_sum(23.22) D.Sum= Cale_sum(23.22)
12、DELETE FROM S WHERE 年龄>60语句的功能是( )
A、从s表中彻底删除年龄大于60岁的记录 B.s表中年龄大于60岁的记录被加上删除标记C、删除s表 D、删除s表的年龄列
13、group by 子句作用是什么?( ) A、查询结果的分组条件B、组的筛选条件
C、限定返回行的判定条件D、对结果进行排序 14、查看下面的语句创建了哪一种索引( )? CREATE INDEX c_index ON student(stuno,sname) TABLESPACE users;
A、全局分区索引 B、位图索引 C、复合索引 D、基于函数的索引 15、下列哪个语句会终止事务( )
A、SAVEPOINT B、COMMIT C.END TRANSACTION D.ROLLBACK TO SAVEPOINT
填空
1、( )是oracle中可以使用的最大逻辑存储结构,( )是oracle 逻辑存储结构中最小的IO单元。
2、PL/SQL程序块主要包含3个部门:声明部门、可执行部分、( )部分。 3、查看操作在数据表中所影响的行数,可通过操作游标的( )属性实现。 4、( )是具有名称的一组相关权限的组合。
5、Oracle数据库系统的物理存储结果主要由3部分组成分别为数据文件、( )和( ) 6、在SQL*PLUS命令行下,查看emp表的结果应使用( )命令。 7、自定义异常必须使用( )语句显式触发。 8、在oracle 10g版本以前对撤销信息的管理采用 ( ),从oracle 10g以后的版本采用( )方式管理撤销信息。
9、在oracle数据库中的权限可以分为两类,( )是指在系统级控制数据库的存储和使用机制,( )是指在对象级控制数据库的存储和使用机制。 10、在oracle中,创建公共同义词的SQL命令为( ) 简答
1、简述表空间与数据文件的关系。 2、简述替代触发器的作用。
3、简述调用过程时传递参数值的三种方式。
1、完成以下PL/SQL块,功能是:使用游标显示销售报表。如果目标销售额(tsales)大于实际销售额(asales),则显示消息“需提高销售额”,如果tsales等于asales,则显示“已达到销售额”否则显示“销售业绩出色”。 DECLARE
CURSOR sales_cur IS SELECT *
FROM salesdefails; BEGIN
(1)
(2)
2、完成以下PL/SQL块,功能是:接受职员编号(empno)并检索职员姓名(ename).将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。 DELCARE
empname employee.ename%TYPE; eno employee.empno%TYPE; BEGIN
eno:='&employee_number'; (1)
DBMS_OUTPUT.PUT_LINE('职员姓名:'||empname); (2) WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('要存储在变量中的值过大'); END;
1、假设当前用户为SYSTEM,创建用户user1.口令为abc。授予用户user1连接数据库的权限CONNECT,以及对SCOTT模式下的EMP表进行查询(SELECT)权限,并允许该用户向其他用户授权。
2、创建大小为100MB的表空间MYTS,数据文件为:C:\\oradata\\ORCL\\MYTS01.DBF,允许自动扩展数据文件,增量为10MB,数据文件的最大值为300MB。 3、设有一个职工部门关系数据库,有两个基本表,其结构如下: 职工表:emp 列名 e_no e_name e_job e_sal d_no 非空? NOT NULL NOT NULL 数据类型 VARCHAR2(5) VARCHAR2(10) VARCHAR2(9) NUMBER(6) NUMBER(2) 备注 职工编号 职工名称 雇佣日期 工资 所在部门 其中e_no为职工表主键,d_no为职工表外键 部门表dept: 列名 d_no d_name d_loc 非空? NOT NULL NOT NULL 数据类型 NUMBER(2) VARCHAR2(30) VARCHAR2(20) 备注 部门编号 部门名称 其中d_no为职工表主键
4、用SQL语句向职工表emp和部门表dept中分别插入下如下数据: emp表 dept表
5、用SQL语句完成一下查询操作: (1)查询20部门的所有员工信息。
(2)列出工资高于公司平均工资的雇员信息。
(3)列出部门名称和这些部门的雇员信息,同时列出没有雇员的部门信息。 6、创建一视图min_sal_view,通过该视图可以查询各种类别工作的最低工资。
7、创建了一序列对象seq_no,序列号从10000开始,最小值为10,序列间长的间隔为2,不允许序列循环使用,预先分配5个序列号。
8、创建一存储函数dept_func,根据指定的部门编号d_no,返回该部门的名称(d_name). 9、编写一触发器del_dept_tri,当从部门表dept中删除某个部门的信息时,该触发器将从职工表emp中删除该部门的所有雇员记录。