Oracle习题
Oracle 考试试题(带答案)

a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
B
9) 在 Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将()表空间分配 给用户作为默认表空间。。
DATEPART EXTRACT TO_CHAR TRUNC
bc
5) 在Oracle中,有一个教师表teacher的结构如下: ID NUMBER(5) NAME VARCHAR2(25) EMAIL VARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。
a) b) c) d) 参考答案
a) b) c) d) 参考答案
OracleHOME_NAMETNSListener OracleServiceSID OracleHOME_NAMEAgent OracleHOME_NAMEHTTPServer
a
8) 在Windows操作系统中,Oracle的()服务是使用 iSQL*Plus必须的。
A
12) 在Oracle中,下面用于限制分组函数的返回值的子句是 ()。
a) WHERE b) HAVING c) ORDER BY d) 无法限定分组函数的返回值
参考答案 b
13) 在Oracle中,有一个名为seq的序列对象,以下语句能返 回序列值但不会引起序列值增加的是()。
a) b) c) d) 参考答案
%NOTFOUND %FOUND %ROWTYPE %ISOPEN %ROWCOUNT
c
15) 在Oracle中,当控制一个显式游标时,下面哪种命令包 含INTO子句()。
oracle模拟习题

oracle模拟习题一、选择题1、关于SQL、SQL*Plus、PL/SQL相关于Oracle数据库的说法不正确的是(D )A.SQL是用来和Oracle交互的工具B.SQL*Plus是编写SQL和PL/SQL的工具C.PL/SQL是Oracle提供的过程化语言D.SQL*PLUS中不能含有SQL语句2、ORACLE中权限最大的用户是(C)A. systemB. adminC. sysD. scott3、select ename from emp where job=’SALESMAN’ order by empno desc 的第三条结果是(D )A. ALLENB. KINGC. SMITHD. WARD4、执行语句select gongda from emp的执行结果是(D)A. 显示gongdaB. 无输出C. 显示14行工大D. 报异常5、执行语句select * from emp where job=’clerk’,得到的结果是(B)A. 输出4行结果B. 无输出C. 输出14行结果D. 报异常6、PL/SQL中自定义异常编号正确的是(B)A. -01400B. -20222C. -01158D. -14337、PL/SQL中,若一条select语句没有返回值,将引发哪个异常(B)A.NO_ROWS_FOUND B.NO_DATA_FOUNDC.NO_DATA_ROWS _FOUND D.NO_FIND8、以下代码哪一行有问题(B)1 DECLARE2 v_i NUMBER := &n ;3 BEGIN4 IF v_i % 3 = 0 THEN5 dbms_output.put_line('您输入的数字是:'||v_i||'可以被3整除');6 ELSE7 dbms_output.put_line('您输入的数字是:'||v_i||'不能被3整除');8 END IF ;9 END;A. 第2行B. 第4行C. 第6行D. 哪一行都没错9、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 > 12;var1 := var1 +1;DBMS_OUTPUT.PUT_LINE(‘A’);END LOOP;输出的结果为(C )A.无输出B.AC.AAD.AAA10、以下程序执行后的结果是( B )DECLAREstr1 VARCHAR2(4000):='abcdefg_hijklmn'; --g和h之间的下划线代表此处有一个空格 str2 VARCHAR2(4000);str3 VARCHAR2(4000);BEGINselect upper(str1) into str2 from dual;select LENGTH(str1) into str3 from dual;dbms_output.put_line(str2||', '||str3);END;A.无输出 B.ABCDEFG HIJKLMN, 15C.ABCDEFG HIJKLMN, 14 D.abcdefg hijklmn,1511、ORACLE中权限最大的用户是(C)A. systemB. adminC. sysD. scott12、oracle 11g默认的日期格式是(A)A. 25-12月-2013B. 2013-12-25C. 12-25-2013D. 25-12-201313、执行语句SELECT comm FROM EMP 的执行结果有数字显示的是( A )A. 4行B. 无输出C. 14行D. 报错14、如何获得系统当前时间(C)A.sysdate B.select sysdateC.select sysdate from dual D.以上都是15、执行语句select * from emp where job=’clerk’,得到的结果是(B)A. 输出4行结果B. 无输出C. 输出14行结果D. 报错16、emp中,deptno是该表的( B )A. 主键B. 外键C. 什么都不是D. 主键+外键17、PL/SQL中自定义异常编号正确的是(B)A. -01400B. -20123C. -01158D. -143318、PL/SQL中,若一条select语句没有返回值,将引发哪个异常(B)A.NO_ROWS_FOUND B.NO_DATA_FOUNDC.NO_DATA_ROWS _FOUND D.NO_FIND19、有一段PL/SQL程序如下所示:var1 := 10;LOOPEXIT WHEN var1 > 12;var1 := var1 +1;DBMS_OUTPUT.PUT_LINE(‘A’);END LOOP;输出的结果为(C )A.无输出B.AC.AAD.AAA20、在Oracle PL/SQL程序中,要从用户输入赋值给数字变量stuid,下面代码正确的是(C)A.stuid = ‘& stuid ’B.stuid := “& stuid ”C.stuid : = & stuidD.stuid = & stuid二、简答题1、查询出名字中第三个字母是“N”的员工信息select * from emp where ename like ‘__N%’2、查询所有员工工号、姓名、工资、所在部门名称、所在地,按工资降序排列select emp.empno,emp.ename,emp.sal,dept.dname,dept.loc from emp,deptwhere emp.deptno=dept.deptno order by emp.sal3、查询每个部门的员工数量以及该部门名称,将员工数大于4人的部门筛选出来select dname,count(*) from scott.emp,scott.deptWHERE scott.emp.deptno=scott.dept.deptnogroup by dname HAVING count(*)>44、查询出没有员工的部门信息(部门编号、名称、所在地)SELECT * FROM dept WHERE deptno NOT IN (SELECT deptno FROM emp)5、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal)from emp,deptWHERE emp.deptno=dept.deptnogroup bydept.deptno,dept.dname,dept.locorder by sum(sal)) where rownum<26、将所有芝加哥工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc='CHICAGO' )7、查询所有员工工号、姓名、工资select emp.empno,emp.ename,emp.sal from emp8、查询出每个员工姓名、工资,并按工资降序排列select ename,sal from emp order by sal desc9、查询出每个员工的姓名以及部门所在地select emp.ename,dept.dname FROM emp,dept where emp.deptno=dept.deptno10、查询出工资总数最少部门的部门信息(部门编号、名称、所在地)select * FROM (select dept.deptno,dept.dname,dept.loc,sum(sal)from emp,deptWHERE emp.deptno=dept.deptnogroup bydept.deptno,dept.dname,dept.locorder by sum(sal)) where rownum<211、将所有在纽约工作的人工资加500,奖金加100UPDATE emp SET sal=sal+500 , comm=nvl(comm,0)+100WHERE emp.deptno=(SELECT deptno FROM dept WHERE loc='NEW YORK' )12、删除工资最高的两个员工信息delete from scott.emp where sal in(SELECT sal FROM (SELECT * FROM scott.emp ORDER BY sal desc) WHERE ROWNUM < 3 )三、编程题1、自定义输入任意员工编号,输出该员工编号、姓名、工资、部门名称、所在地,如果输入的编号错误,请进行异常处理。
oracle期末考试卷

oracle期末考试卷Oracle期末考试卷一、选择题(每题2分,共20分)1. Oracle数据库的默认端口号是什么?A. 1521B. 3306C. 1433D. 54322. 在Oracle数据库中,以下哪个命令用于查看当前数据库的所有用户?A. SELECT USER FROM DUAL;B. SELECT DISTINCT USERNAME FROM DBA_USERS;C. SELECT * FROM ALL_USERS;D. SELECT * FROM USER_USERS;3. 以下哪个不是Oracle数据库的体系结构组件?A. 数据库B. 实例C. 表空间D. 索引4. Oracle数据库的哪个组件负责管理数据的存储和检索?A. SQLB. PL/SQLC. RDBMSD. DBMS5. 在Oracle数据库中,以下哪个命令用于创建一个新的表?A. CREATE TABLE;B. CREATE DATABASE;C. CREATE INDEX;D. CREATE VIEW;6. Oracle数据库中,哪个命令用于删除一个表?A. DROP TABLE;B. REMOVE TABLE;C. DELETE TABLE;D. ERASE TABLE;7. Oracle数据库中,哪个命令用于查看表的结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;8. 在Oracle数据库中,以下哪个命令用于添加新的列到一个已存在的表?A. ADD COLUMN column_name column_type;B. INSERT COLUMN column_name column_type;C. CREATE COLUMN column_name column_type;D. APPEND COLUMN column_name column_type;9. Oracle数据库中,哪个命令用于更新表中的记录?A. UPDATE table_name SET column_name = new_value WHERE condition;B. MODIFY table_name SET column_name = new_value WHERE condition;C. CHANGE table_name SET column_name = new_value WHERE condition;D. ALTER table_name SET column_name = new_value WHERE condition;10. 在Oracle数据库中,以下哪个命令用于删除表中的记录?A. ERASE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. DELETE FROM table_name WHERE condition;D. DROP FROM table_name WHERE condition;二、简答题(每题5分,共30分)1. 简述Oracle数据库的体系结构。
oracle试题

oracle试题一、选择题1. 在Oracle数据库中,用于创建表的语句是什么?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:B2. 下列哪个命令可以用于查询当前数据库中的所有表?A. DESCB. SHOW TABLESC. LIST TABLESD. SELECT * FROM ALL_TABLES答案:C3. 在Oracle中,如何删除一个表?A. REMOVE TABLE table_name;B. DELETE TABLE table_name;C. DROP TABLE table_name;D. ERASE TABLE table_name;答案:C4. 在Oracle SQL中,哪个关键字用于选择所有列?A. ALLB. EACHC. EVERYD. ALL COLUMNS答案:A5. 如何在Oracle SQL查询中对结果进行排序?A. ORDER BY column_name ASC/DESC;B. SORT BY column_name ASC/DESC;C. ARRANGE BY column_name ASC/DESC;D. CLASSIFY BY column_name ASC/DESC;答案:A二、填空题1. 在Oracle数据库中,用来创建视图的关键字是_______。
答案:CREATE VIEW2. 若要在Oracle中为表添加一个新的列,应使用_______语句。
答案:ALTER TABLE3. 在Oracle SQL中,用于合并两个或多个查询结果的关键字是_______。
答案:UNION4. 若要在Oracle数据库中重命名表,应使用_______语句。
答案:RENAME5. 在Oracle中,用来删除表中的行的语句是_______。
答案:DELETE三、简答题1. 请简述Oracle数据库中的事务是什么?答:事务是一组SQL语句的集合,它们作为一个单一的工作单元执行。
Oracle题库

Oracle题库⼀、选择题1、对于Oracle数据库软件的应⽤,主要分为哪两⼤块(AB )。
〖2个答案〗A.开发B.管理C.安装D.调试2、以下哪项不是Oracle数据库物理组件的类型(D)。
〖1个答案〗A. 数据⽂件B. 控制⽂件C. ⽇志⽂件D. 表空间3、以下哪项不是Oracle数据库的逻辑组件的类型(D)。
〖1个答案〗A. 表空间B. 段C. 扩展区D. ⽇志⽂件4、关于数据控制语⾔中,收回所授予的权限的语句是(B)。
〖1个答案〗A. CreateB. RevokeC. GrantD. Update5、Oracle数据库中,取余数的运算符是(B)。
〖1个答案〗A. %B. modC. /D. ||6、Oracle数据库中,连接字符串的运算符是( D)。
〖1个答案〗A. +B. &C. isD. ||7、Oracle数据库中返回字符串长度的函数是(D)。
〖1个答案〗C. InStrD. Length8、Oracle数据库中按指定的精度进⾏四舍五⼊的函数是(C)。
〖1个答案〗A. SignB. TruncC. RoundD. Mod9、转换⽇期类型为字符串的转换函数是(C)。
〖1个答案〗A. to_dateB. to_datetimeC. to_charD. to_number10、在数据库中,对象Index表⽰(D)。
〖1个答案〗A.同义词B.表C.包D.索引11、关于通配符中的“%”,以下说法正确的两项是(BD)。
〖2个答案〗A. 代表任意⼀个字符,与Like结合使⽤B. 代表任意多个字符,与Like结合使⽤C. 代表任意⼀个字符,在Like后的表达式中只能使⽤⼀次“%”D. 代表任意多个字符,在Like后的表达式中可以使⽤多次“%”12、要统计某表中记录的总个数,以下哪项是正确的SQL语句(C)。
〖1个答案〗A. select Max(*) from 表名B. select Sum(*) from 表名C. select Count(*) from 表名D. select Min(*) from 表名13、要求表中数据的最⼤值,应使⽤什么函数(A)。
oracle数据库的试题及答案

oracle数据库的试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 非关系型B. 关系型C. 分布式D. 图形化2. 数据库中,将所有数据进行分类和组织的基本单位是()。
A. 表B. 字段C. 记录D. 数据库3. 在Oracle数据库中,用于删除表中所有数据的操作是()。
A. DELETEB. REMOVEC. DROPD. TRUNCATE4. 在Oracle数据库中,用于更新表中数据的操作是()。
A. UPDATEB. MODIFYC. ALTERD. REPLACE5. 在Oracle数据库中,用于查询数据的操作是()。
A. SELECTB. SEARCHC. FINDD. WHERE二、简答题1. 请简述Oracle数据库的特点。
Oracle数据库具有以下特点:- 完整性:通过约束和触发器来保证数据的完整性。
- 可扩展性:支持集群部署和分布式数据库,可以动态扩展数据库的容量。
- 安全性:提供了严格的数据权限管理和用户认证机制,保护数据免受未经授权的访问。
- 可靠性:支持数据备份和恢复功能,保障数据的持久性和可靠性。
- 高性能:采用多线程和缓存技术,提高数据库的读写性能和响应速度。
2. 在Oracle数据库中,什么是事务?事务是指逻辑上的一组操作,这组操作要么全部成功执行,要么全部失败回滚。
事务具有以下特性:- 原子性:事务中的操作要么全部执行成功,要么全部回滚,不会出现部分执行的情况。
- 一致性:事务执行前后,数据库的状态保持一致性,不会破坏数据的完整性。
- 隔离性:事务之间相互独立,每个事务都认为自己是唯一在操作数据库的。
- 持久性:事务一旦提交,其对数据库的修改将永久保存,不会被回滚。
3. 请说明Oracle数据库中的索引是什么,并简要介绍索引的作用。
索引是一种特殊的数据库对象,用于快速查找数据库中的数据。
索引基于一个或多个列值创建,并按照特定的排序规则存储列值和对应的行指针。
oracle笔试题及答案
oracle笔试题及答案一、选择题1. Oracle数据库是一种()数据库管理系统。
A. 关系型B. 非关系型C. 层次型D. 网状型答案:A2. 下列哪个选项不属于Oracle数据库的特点?A. 完全支持SQL语言B. 支持分布式数据库C. 提供高可用性和故障恢复机制D. 仅支持单用户操作答案:D3. 在Oracle数据库中,下列关键字中哪个用于插入一行数据?A. UPDATEB. DELETEC. SELECTD. INSERT答案:D4. 在Oracle数据库中,下列关键字中哪个用于从表中删除一行数据?A. TRUNCATEB. DROPC. DELETED. REMOVE答案:C5. 在Oracle数据库中,下列关键字中哪个用于更新表中的数据?A. MODIFYB. ALTERC. UPDATED. CHANGE答案:C6. 在Oracle数据库中,下列哪个语句用于创建一个新的用户?A. CREATE ROLEB. CREATE USERC. GRANT PERMISSIOND. ALTER ACCOUNT答案:B7. 在Oracle数据库中,下列关键字中哪个用于将表中的数据按照指定的列进行排序?A. SORTB. GROUPC. ORDERD. ARRANGE答案:C8. 在Oracle数据库中,下列关键字中哪个用于查询满足特定条件的数据?A. SELECTB. SEARCHC. FINDD. FILTER答案:A9. 在Oracle数据库中,下面哪个关键字用于创建新的表?A. CREATEB. MAKEC. BUILDD. CONSTRUCT答案:A10. 下列哪个Oracle数据库对象用于避免数据冗余,提高查询速度,并提供数据的一致性和完整性?A. 视图(View)B. 函数(Function)C. 存储过程(Stored Procedure)D. 游标(Cursor)答案:A二、简答题请简要回答以下问题。
oracle期末考试题及答案
oracle期末考试题及答案一、选择题(每题2分,共20分)1. Oracle数据库中的用户和模式是什么关系?A. 完全相同B. 完全不同C. 模式是用户的集合D. 用户是模式的集合答案:C2. 在Oracle数据库中,以下哪个命令用于查看当前用户?A. SELECT USER FROM DUAL;B. SELECT CURRENT_USER FROM DUAL;C. SELECT SESSION_USER FROM DUAL;D. SELECT SYSTEM_USER FROM DUAL;答案:A3. Oracle数据库中的哪个参数用于设置数据库的字符集?A. DB_CHARSETB. NLS_CHARACTERSETC. DB_LANGUAGED. NLS_LANGUAGE答案:B4. 在Oracle数据库中,以下哪个不是SQL语句?A. SELECTB. UPDATEC. DELETED. PRINT答案:D5. Oracle数据库中的触发器可以在哪些时刻执行?A. 数据插入前B. 数据更新前C. 数据删除后D. 数据查询时答案:ABC二、填空题(每空2分,共20分)1. Oracle数据库的默认表空间名称是 _ 。
答案:SYSTEM2. 在Oracle数据库中,用来查看当前数据库版本信息的命令是 _ 。
答案:SELECT * FROM V$VERSION;3. Oracle数据库中,用来创建索引的SQL语句是 _ 。
答案:CREATE INDEX;4. 在Oracle数据库中,存储过程和函数的区别在于存储过程可以有_ ,而函数不能。
答案:OUT参数5. Oracle数据库中,用于实现数据完整性的约束包括主键约束、外键约束、 _ 和CHECK约束。
答案:UNIQUE约束三、简答题(每题10分,共30分)1. 解释Oracle数据库中的视图是什么,并说明其优点。
答案:视图是Oracle数据库中的一种虚拟表,它是基于一个或多个表的查询结果。
oracle练习题(打印版)
oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
Oracle测试题(卷)+答案解析
Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。
(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。
(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)在employee表的ename列上创建非唯一性索引。
SQL>CREATE INDEX emp_ename_index ONemployee(ename);(3)在employee表的empno列上创建唯一性索引。
SQL>CREATE UNIQUE INDEX emp_empno_index ONemployee(empno);(4)在employee表的job列上创建反序索引。
SQL>CREATE INDEX emp_job_index ONemployee(job) REVERSE;(5)在employee表的ename列上创建基于名字大写的函数索引。
SQL>CREATE INDEX emp_func_ename_index ONemployee(UPPER(ename));(6)在employee表的sex列上创建位图索引。
SQL>CREATE BITMAP INDEX emp_sex_index ONemployee(sex);(7)在employee表的deptno与job两列上创建复合索引。
SQL>CREATE INDEX emp_deptno_job_index ONemployee(deptno,job);7.3.2 用户权限的直接授予与回收(3)为用户userA授予CREATE SESSION系统权限,授予scott.emp表上的SELECT、UPDATE、DELETE对象权限。
SQL>GRANT CREATE SESSION TO userA;SQL>GRANT SELECT,UPDATE,DELETE ON scott.empTO userA;(4)为用户userA授予CREATE TABLE权限,以及scott.dept表上的SELECT权限,都可以传递。
SQL>GRANT CREATE TABLE TO userA WITH ADMINOPTION;SQL>GRANT SELECT ON scott.dept TO userA WITHGRANT OPTION;(5)为public用户组授予CREATE SESSION系统权限。
SQL>GRANT CREATE SESSION TO PUBLIC;(6)查询用户userA所具有的对象权限和系统权限详细信息。
SQL>SELECT * FROM dba_tab_privs WHEREgrantee='USERA';GRANTEE OWNER TABLE_NAME GRANTORPRIVILEGE GRANTABLE HIERARCHSQL>SELECT * FROM dba_sys_privs WHEREgrantee='USERA';(7)查询用户组PUBLIC所具有的系统权限信息。
SQL>SELECT * FROM dba_sys_privs WHEREgrantee='PUBLIC';(8)将用户userA解锁后,试利用该用户登录,并访问scott.emp表,修改scott.dept表。
SQL>ALTER USER usera ACCOUNT UNLOCK;SQL>CONN userA/userASQL>SELECT * FROM scott.emp;SQL>UPDATE scott.dept SET loc='china' WHEREdeptno=10;UPDATE scott.dept SET loc='china' WHEREdeptno=10(9)以userA用户连接数据库后,为userB用户授予CREATE TABLE系统权限以及scott.dept表上的SELECT权限。
SQL>CONN userA/userASQL>GRANT CREATE TABLE TO userB;SQL>GRANT SELECT ON scott.dept TO userB;(10)查询用户userB所具有的对象权限和系统权限详细信息。
提示:重新连接到创建userB用户的数据库模式)SQL>SELECT * FROM dba_tab_privs WHEREgrantee='USERB';GRANTEE OWNER TABLE_NAME GRANTORPRIVILEGE GRANTABLE HIERARCHY(11)以用户userB连接数据库,创建一个表,并访问scott.dept表。
SQL>CONN userB/userBSQL>CREATE TABLE test1(ID NUMBER,info VARCHAR2(20));SQL>SELECT * FROM scott.dept;(12)回收用户userA的CREATE TABLE系统权限以及在scott.dept上的SELECT系统权限,然后检测userB的权限。
SQL>CONN / AS SYSDBASQL>REVOKE CREATE TABLE FROM userA;SQL>REVOKE SELECT ON scott.dept FROM userA;SQL>SELECT * FROM dba_sys_privs WHEREgrantee='USERB';1.3.1 PL/SQL显示游标1.根据输入的部门号查询某个部门的员工信息,部门号在程序运行时指定。
由于某个部门的人数是不定的,可能有多个,因此需要采用游标来处理。
12.查询名为SMITH的员工工资,如果该员工不存在,则输出"There is not such an employee!";如果存在多个同名的员工,则输出其员工号和工资。
13.删除dept表中部门号为10的部门信息,如果不能删除则输出"There are subrecords in emp table!"。
1创建服务器初始化参数文件语句Create spfile [=’path’] from pfile=’path’2 修改服务器参数文件的参数Alter system set parameter_name=value scope=[spfile(服务器初始化参数文件)|memory(文本初始化参数文件)|both]3查看初始化参数设置Sql>Show parameters OrSelect name,value from v$parameter wherename=’db_files’4 导出服务器初始化参数文件Create pfile [=’path’] from spfile[=’path’]5 Sql*plus连接命令Connect system/manage@orcl修改用户口令Sql>Connect scott/tiger@orclSql>password scott6 Sql*plus编辑命令显示缓冲区Sql>list 1* select * from emp执行缓冲区Run清除缓冲区Clear buffer7 执行脚本文件Start c:\sqlscript2.查询并输出某个部门的员工信息。
t1,简述数据、数据库、数据库管理系统和数据库系统的概念及关系。
数据是描述事物的符号,是数据库中存储的基本对象。
数据与数据的解释即数据的语义是紧密结合的。
数据库是指按一定的数据模型组织、描述和存储的数据的集合。
数据库管理系统是位于操作系统与用户之间的一层数据管理软件。
数据库系统是指数据库、数据库管理系统与计算机系统的结合。
2,约束。
关系的完整性约束包括三类:实体完整性、参照完整性和用户定义完整性。
实体完整性:是指关系中必须定义主键,以惟一的确定一个元组。
主键由一个或多个属性构成,其取值惟一且不能为空(NULL)。
参照完整性:在关系模型中,通过外键来表示表之间的联系。
参照完整性是指一个表中的外键的取值必须是参照表中主键存在的值或为空(NULL)。
例如,学生信息表中“班号”属性为外键,其取值必须是班级信息表中“班号”属性的某一个值或为空。
用户定义完整性:是指用户根据特定应用情况,设定一些约束,反映某一具体应用所涉及的数据必须满足的语义要求。
例如,“性别”属性的域为“男、女”。
3,文本初始化参数文件是一个本地的初始化参数文件,而服务器初始化参数文件是一个放在数据库服务器端的共享的二进制初始化参数文件。
文本参数文件的修改是通过直接对文本的修改实现的,通过命令行是无法将修改后的参数值写入该文件中,而服务器初始化参数文件是不能直接修改的,必须通过ALTER SYSTEM语句来进行参数修改的。
4,SQL*Pl us可以完成任务:输入、编辑、存储、提取、运行和调试SQL语句和PL/SQL程序;处理数据、生成报表、存储、打印、格式化查询结果;列出任何表的列的定义;在数据库之间存取和拷贝数据;从一个用户端发送和接受消息等。
读写操作方法: SAVE filename和GET filename。
十个命令:CONN[ECT]:连接数据库DISC[ONNECT]:断开连接SAVE:保存文件GET:读入文件START:执行文件SHOW:显示环境变量值SET:设置环境变量值DESCRIBE:查看对象结构CLEAR:清空缓冲区COLUMN:设置格式输出。
交互方法: 绑定变量或定义替换变量,用户与程序的交互。
1,CONNECT SYSTEM/MANAGER@ORCL 2,切换用户 CONNECT / ·ORCL AS SYSDBA3,COLUMN SAL FORMAT L99999.99 SELECT EMPNO,SAL FROM SCOTT.EMP;4,TTITLE CENTER ‘员工信息:’ BTITLE RIGHT ‘制作人:’ SELECT * FROM SCOTT.EMP;5,数据文件的作用:数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。
重做日志文件的作用:以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。
归档:归档是数据库恢复及热备份的基础。
只用当数据库归档模式时,才可以进行热备份和完全恢复。
进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。
6,说明数据库逻辑存储结构的组成和相互关系。
逻辑存储结构分为数据块、区、段和表空间四种。
其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。