oracle数据库的试题及答案_第1页
oracle数据库的试题及答案_第2页
oracle数据库的试题及答案_第3页
oracle数据库的试题及答案_第4页
oracle数据库的试题及答案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

oracle数据库的试题及答案Oracle数据库的试题及答案一、选择题(每题2分,共40分)1.以下哪个不是Oracle数据库的物理存储结构?A.数据文件B.控制文件C.重做日志文件D.表空间2.在Oracle中,以下哪个命令用于创建表空间?A.CREATEDATABASEB.CREATETABLESPACEC.CREATESCHEMAD.CREATEUSER3.以下哪个不是Oracle的数据类型?A.VARCHAR2B.NUMBERC.DATETIMED.TIMESTAMP4.在Oracle中,以下哪个视图用于显示当前数据库的会话信息?A.V$SESSIONB.V$DATABASEC.V$INSTANCED.V$PARAMETER5.以下哪个不是Oracle的数据库控制文件的作用?A.记录数据库的结构信息B.记录数据文件的名称和位置C.记录重做日志文件的名称和位置D.存储用户数据6.在Oracle中,以下哪个命令用于创建索引?A.CREATEKEYB.CREATEINDEXC.CREATEUNIQUED.CREATECONSTRAINT7.以下哪个不是Oracle的PL/SQL控制结构?A.IF-THEN-ELSEB.FORLOOPC.WHILELOOPD.SWITCHCASE8.在Oracle中,以下哪个函数用于连接两个字符串?A.CONCATB.JOINC.MERGED.COMBINE9.以下哪个不是Oracle的数据库角色?A.CONNECTB.RESOURCEC.ADMIND.DBA10.在Oracle中,以下哪个视图用于显示数据库的等待事件?A.V$SYSTEM_EVENTB.V$SESSION_EVENTC.V$SESSION_WAITD.V$EVENT11.以下哪个不是Oracle的表分区类型?A.范围分区B.哈希分区C.列表分区D.时间分区12.在Oracle中,以下哪个命令用于授予用户权限?A.ALLOWB.PERMITC.GRANTD.GIVE13.以下哪个不是Oracle的约束类型?A.PRIMARYKEYB.FOREIGNKEYC.UNIQUED.AUTOMATIC14.在Oracle中,以下哪个函数用于计算平均值?A.SUMB.AVGC.MEAND.TOTAL15.以下哪个不是Oracle的数据库备份方式?A.冷备份B.热备份C.增量备份D.实时备份16.在Oracle中,以下哪个命令用于删除表?A.REMOVETABLEB.DELETETABLEC.DROPTABLED.ERASETABLE17.以下哪个不是Oracle的PL/SQL异常处理块?A.BEGINB.EXCEPTIONC.WHEND.RAISE18.在Oracle中,以下哪个视图用于显示数据库的性能统计信息?A.V$SYSSTATB.V$SESSTATC.V$STATNAMED.V$SQLSTAT19.以下哪个不是Oracle的数据库对象?A.表B.视图C.索引D.变量20.在Oracle中,以下哪个命令用于创建序列?A.CREATESEQUENCEB.CREATESERIESC.CREATENUMBERD.CREATEAUTO_INCREMENT二、填空题(每空1分,共20分)1.Oracle数据库的物理存储结构包括数据文件、控制文件和重做日志文件,其中用于存储实际数据的文件是______。2.在Oracle中,用于存储数据库表、索引等对象的逻辑容器称为______。3.Oracle中,用于执行SQL语句并返回结果的编程语言是______。4.在Oracle中,用于唯一标识表中每一行的约束类型是______。5.Oracle中,用于存储表数据的物理结构是______。6.在Oracle中,用于执行PL/SQL代码的匿名块以______关键字开始。7.Oracle中,用于存储数据库配置信息的文件是______。8.在Oracle中,用于创建用户定义的函数或过程的编程语言是______。9.Oracle中,用于确保引用完整性的一种约束类型是______。10.在Oracle中,用于存储数据库运行时状态信息的动态视图以______开头。11.Oracle中,用于存储数据库对象定义信息的系统表空间是______。12.在Oracle中,用于执行条件判断的控制结构是______。13.Oracle中,用于存储数据库操作历史记录的文件是______。14.在Oracle中,用于执行循环操作的控制结构是______。15.Oracle中,用于存储数据库用户信息的系统表空间是______。16.在Oracle中,用于执行异常处理的块是______。17.Oracle中,用于存储数据库配置参数的视图是______。18.在Oracle中,用于执行多表连接操作的关键字是______。19.Oracle中,用于存储数据库统计信息的视图以______开头。20.在Oracle中,用于执行事务控制的命令是______。三、判断题(每题1分,共10分)1.在Oracle中,一个表空间可以包含多个数据文件。()2.Oracle的PL/SQL是一种过程化编程语言,支持变量、条件语句和循环结构。()3.在Oracle中,视图是物理存储的表。()4.Oracle的控制文件是可重用的,可以在多个数据库之间共享。()5.在Oracle中,主键约束允许NULL值。()6.Oracle的数据库实例和数据库是同一个概念。()7.在Oracle中,索引总是提高查询性能。()8.Oracle的归档日志模式是数据库运行所必需的。()9.在Oracle中,外键约束可以引用同一个表中的其他列。()10.Oracle的数据库链接用于连接到远程数据库。()四、简答题(每题5分,共30分)1.简述Oracle数据库的物理存储结构和逻辑存储结构。2.解释Oracle中表空间的作用及其类型。3.简述Oracle中索引的工作原理及其类型。4.解释Oracle中PL/SQL块的组成结构。5.简述Oracle中事务的概念及其特性(ACID)。6.解释Oracle中数据库链接的作用及其创建方法。五、论述题(每题10分,共20分)1.论述Oracle数据库的性能优化策略,包括SQL优化、内存优化和I/O优化等方面。2.论述Oracle数据库的备份与恢复策略,包括不同备份方式的优缺点及适用场景。六、SQL编程题(每题10分,共30分)1.创建一个员工表(employees),包含以下字段:员工ID(emp_id,主键),员工姓名(emp_name),职位(job_id),部门ID(dept_id),入职日期(hire_date),薪资(salary)。要求添加适当的约束。2.编写一个PL/SQL块,计算并输出各部门的平均薪资和最高薪资。3.创建一个视图,显示员工姓名、职位和部门名称,并进行适当的权限控制。答案:一、选择题答案1.D.表空间是逻辑存储结构,不是物理存储结构。物理存储结构包括数据文件、控制文件和重做日志文件。2.B.CREATETABLESPACE命令用于创建表空间。CREATEDATABASE用于创建数据库,CREATESCHEMA用于创建模式,CREATEUSER用于创建用户。3.C.DATETIME不是Oracle的数据类型。Oracle中用于表示日期和时间的数据类型包括DATE、TIMESTAMP等。4.A.V$SESSION视图用于显示当前数据库的会话信息。V$DATABASE显示数据库信息,V$INSTANCE显示实例信息,V$PARAMETER显示参数信息。5.D.控制文件不存储用户数据,它记录数据库的结构信息、数据文件的名称和位置、重做日志文件的名称和位置等。6.B.CREATEINDEX命令用于创建索引。CREATETABLE用于创建表,CREATEKEY不是有效命令,CREATEUNIQUE用于创建唯一约束。7.D.SWITCHCASE不是Oracle的PL/SQL控制结构。PL/SQL支持IF-THEN-ELSE、FORLOOP、WHILELOOP等控制结构。8.A.CONCAT函数用于连接两个字符串。JOIN是SQL关键字,不是函数;MERGE和COMBINE不是Oracle的字符串连接函数。9.C.ADMIN不是Oracle的数据库角色。Oracle的标准角色包括CONNECT、RESOURCE、DBA等。10.A.V$SYSTEM_EVENT视图用于显示数据库的等待事件。V$SESSION_EVENT显示会话级别的事件,V$SESSION_WAIT显示会话等待信息,V$EVENT显示事件信息。11.D.时间分区不是Oracle的表分区类型。Oracle支持范围分区、哈希分区、列表分区等分区类型。12.C.GRANT命令用于授予用户权限。ALLOW、PERMIT、GIVE不是有效的Oracle命令。13.D.AUTOMATIC不是Oracle的约束类型。Oracle的约束类型包括PRIMARYKEY、FOREIGNKEY、UNIQUE、NOTNULL、CHECK等。14.B.AVG函数用于计算平均值。SUM用于求和,MEAN和TOTAL不是Oracle的聚合函数。15.D.实时备份不是Oracle的数据库备份方式。Oracle支持冷备份、热备份、增量备份等备份方式。16.C.DROPTABLE命令用于删除表。REMOVETABLE、DELETETABLE、ERASETABLE不是有效的Oracle命令。17.A.BEGIN不是PL/SQL异常处理块。PL/SQL异常处理块包括EXCEPTION、WHEN、RAISE等部分。18.A.V$SYSSTAT视图用于显示数据库的性能统计信息。V$SESSTAT显示会话统计信息,V$STATNAME显示统计名称信息,V$SQLSTAT显示SQL统计信息。19.D.变量不是Oracle的数据库对象。Oracle的数据库对象包括表、视图、索引、序列等。20.A.CREATESEQUENCE命令用于创建序列。CREATESERIES、CREATENUMBER、CREATEAUTO_INCREMENT不是有效的Oracle命令。二、填空题答案1.数据文件。Oracle数据库的物理存储结构中,数据文件用于存储实际数据,控制文件记录数据库结构信息,重做日志文件记录数据库操作历史。2.表空间。表空间是Oracle中用于存储数据库对象的逻辑容器,一个表空间可以包含多个数据文件。3.PL/SQL。PL/SQL是Oracle的过程化SQL语言,用于执行SQL语句并返回结果,支持变量、条件语句、循环结构等。4.PRIMARYKEY。主键约束用于唯一标识表中的每一行,确保数据的唯一性。5.段。段是Oracle中存储表数据的物理结构,包括表段、索引段、LOB段等。6.DECLARE。PL/SQL匿名块以DECLARE关键字开始,用于声明变量和类型。7.初始化参数文件。初始化参数文件用于存储数据库配置信息,如内存大小、文件位置等。8.PL/SQL。PL/SQL是Oracle的过程化SQL语言,用于创建用户定义的函数或过程。9.外键约束。外键约束用于确保引用完整性,保证引用表中的值在被引用表中存在。10.V$。Oracle的动态视图以V$开头,用于存储数据库运行时状态信息。11.SYSTEM表空间。SYSTEM表空间用于存储数据库对象定义信息,如表、视图、索引等的元数据。12.IF语句。IF语句是Oracle中用于执行条件判断的控制结构。13.重做日志文件。重做日志文件用于存储数据库操作历史记录,用于数据库恢复。14.LOOP语句。LOOP语句是Oracle中用于执行循环操作的控制结构,包括FORLOOP、WHILELOOP等。15.SYSTEM表空间。SYSTEM表空间用于存储数据库用户信息,包括用户、角色、权限等。16.EXCEPTION块。EXCEPTION块是PL/SQL中用于执行异常处理的块。17.V$PARAMETER视图。V$PARAMETER视图用于存储数据库配置参数信息。18.JOIN关键字。JOIN关键字是SQL中用于执行多表连接操作的关键字,包括INNERJOIN、LEFTJOIN等。19.V$。Oracle的性能统计视图以V$开头,如V$SYSSTAT、V$SESSTAT等。20.COMMIT/ROLLBACK命令。COMMIT和ROLLBACK是Oracle中用于执行事务控制的命令。三、判断题答案1.√。在Oracle中,一个表空间可以包含多个数据文件,这些数据文件可以分布在不同的磁盘上。2.√。PL/SQL是Oracle的过程化编程语言,支持变量、条件语句、循环结构、异常处理等特性。3.×。在Oracle中,视图是虚拟表,不存储实际数据,而是基于表或其他视图的逻辑表示。4.×。Oracle的控制文件是数据库特定的,不能在多个数据库之间共享,每个数据库都有自己的控制文件。5.×。在Oracle中,主键约束不允许NULL值,确保唯一性和非空性。6.×。Oracle的数据库实例和数据库是不同的概念。实例是内存结构和后台进程的集合,数据库是存储在磁盘上的数据文件、控制文件和重做日志文件的集合。7.×。索引并不总是提高查询性能,对于小表或查询返回大部分数据的查询,索引可能会降低性能。8.×。Oracle的归档日志模式是可选的,非归档日志模式也可以运行,但归档日志模式提供更好的恢复能力。9.√。在Oracle中,外键约束可以引用同一个表中的其他列,这称为自引用外键。10.√。Oracle的数据库链接用于连接到远程数据库,使得本地数据库可以访问远程数据库的对象。四、简答题答案1.Oracle数据库的物理存储结构和逻辑存储结构:物理存储结构:-数据文件:存储实际数据的文件,是数据库的主要存储组件-控制文件:记录数据库的结构信息、数据文件和重做日志文件的名称和位置等-重做日志文件:记录数据库的所有更改操作,用于数据库恢复-临时文件:用于排序和临时计算-归档日志文件:存储已填满的重做日志文件的副本,用于时间点恢复逻辑存储结构:-表空间:逻辑存储单元,用于存储数据库对象-段:分配给特定数据库对象的逻辑存储单元,如表段、索引段等-区:段中连续的存储空间-块:最小的I/O单位,也是数据存储的最小单位2.表空间的作用及类型:表空间是Oracle数据库的逻辑存储单元,用于组织和管理数据库对象。其主要作用包括:-管理磁盘空间分配-提供数据隔离和安全性-简化数据库管理-提高性能(通过将不同类型的数据存储在不同的表空间中)Oracle中常见的表空间类型:-SYSTEM表空间:存储数据库的元数据,如表的定义、索引等-SYSAUX表空间:存储数据库的组件和数据,如OracleEnterpriseManager数据-UNDO表空间:存储用于事务回滚的信息-临时表空间:用于排序和临时计算-用户表空间:存储用户创建的表、索引等对象-大文件表空间:可以包含多个数据文件,简化大型数据库管理3.索引的工作原理及类型:索引是提高数据库查询性能的重要工具,其工作原理如下:-索引是一种数据结构,通常为B树结构,包含索引列的值和指向实际数据的指针-当查询条件包含索引列时,数据库可以使用索引快速定位数据,而不需要扫描整个表-索引创建和维护需要额外的存储空间和系统资源-索引可以提高SELECT查询的性能,但可能会降低INSERT、UPDATE和DELETE操作的性能Oracle中常见的索引类型:-B树索引:最常见的索引类型,适合大多数查询场景-位图索引:适合低基数列(如性别、状态等),在数据仓库中常用-反向键索引:对索引键进行反转,减少索引键的冲突-基于函数的索引:基于函数或表达式创建索引-分区索引:与表分区配合使用,包括本地索引和全局索引-唯一索引:确保索引列的值唯一-位图连接索引:用于连接查询的特殊索引4.PL/SQL块的组成结构:PL/SQL块是Oracle的过程化SQL语言的基本单位,其组成结构包括:-声明部分(可选):以DECLARE关键字开始,用于声明变量、类型、游标等-执行部分:以BEGIN关键字开始,包含SQL语句和PL/SQL控制结构-异常处理部分(可选):以EXCEPTION关键字开始,用于处理执行过程中出现的错误PL/SQL块可以分为以下几种类型:-匿名块:没有名称的PL/SQL块,可以独立执行或嵌入在其他程序中-子程序:包括过程(PROCEDURE)和函数(FUNCTION),有名称和参数,可以被其他程序调用-触发器(TRIGGER):由特定事件(如INSERT、UPDATE、DELETE)自动执行的PL/SQL块-包(PACKAGE):相关PL/SQL对象的集合,包括规范(声明)和主体(实现)5.事务的概念及其特性(ACID):事务是数据库操作的基本单位,是一系列操作的集合,这些操作要么全部成功,要么全部失败。事务具有以下ACID特性:-原子性(Atomicity):事务中的所有操作是一个整体,要么全部执行,要么全部不执行。如果事务中的任何操作失败,整个事务将回滚到事务开始前的状态。-一致性(Consistency):事务执行的结果必须使数据库从一个一致性状态转变到另一个一致性状态。事务不应违反数据库的完整性约束。-隔离性(Isolation):并发执行的事务之间相互隔离,一个事务的执行不应影响其他事务。通过锁机制和事务隔离级别实现。-持久性(Durability):一旦事务提交,其对数据库的更改就是永久的,即使系统发生故障也不会丢失。在Oracle中,事务通过COMMIT提交或ROLLBACK回滚来控制。默认情况下,每个SQL语句都是一个独立的事务,但可以使用显式的事务控制语句来管理多个SQL语句作为一个事务。6.数据库链接的作用及其创建方法:数据库链接是Oracle中用于访问远程数据库对象的对象,其主要作用包括:-允许本地数据库访问远程数据库中的表、视图等对象-实现分布式查询和分布式事务-简化应用程序开发,使应用程序可以透明地访问远程数据创建数据库链接的方法:-使用CREATEDATABASELINK语句创建:```CREATEDATABASELINKlink_nameCONNECTTOusernameIDENTIFIEDBYpasswordUSING'connect_string';```其中,link_name是数据库链接的名称,username和password是远程数据库的用户名和密码,connect_string是远程数据库的服务名或网络服务名。-使用CREATEPUBLICDATABASELINK语句创建公共数据库链接,所有用户都可以使用:```CREATEPUBLICDATABASELINKlink_nameCONNECTTOusernameIDENTIFIEDBYpasswordUSING'connect_string';```使用数据库链接访问远程对象的方法:```SELECTFROMremote_table@link_name;```五、论述题答案1.Oracle数据库的性能优化策略:Oracle数据库的性能优化是一个综合性的工作,涉及多个方面,主要包括SQL优化、内存优化和I/O优化等。SQL优化:-SQL语句是数据库操作的核心,优化SQL语句是提高性能的关键-使用执行计划分析SQL语句的执行路径,识别性能瓶颈-避免全表扫描,合理使用索引-优化子查询和连接操作,使用EXISTS代替IN,使用适当的连接类型(如HASHJOIN、NESTEDLOOP等)-减少不必要的数据访问,只查询需要的列-使用绑定变量减少硬解析,提高缓存命中率-避免在WHERE子句中对列使用函数,这会导致索引失效-使用提示(hints)指导优化器选择执行计划,但应谨慎使用内存优化:-Oracle的内存结构主要包括SGA(系统全局区)和PGA(程序全局区)-SGA包括数据库缓冲区缓存、共享池、大池、Java池、日志缓冲区等-优化数据库缓冲区缓存大小,提高数据缓存命中率-优化共享池大小,减少SQL语句的硬解析-配置PGA大小,优化排序操作和哈希连接-使用内存顾问工具(如V$DB_CACHE_ADVICE、V$SGA_TARGET_ADVICE等)分析内存使用情况-对于大型数据库,考虑使用自动内存管理(AMM)或自动共享内存管理(ASMM)I/O优化:-I/O是数据库性能的主要瓶颈之一,优化I/O可以显著提高性能-合理规划表空间和数据文件布局,将热点数据分散到不同的物理磁盘-使用ASM(自动存储管理)简化存储管理并提高性能-优化数据文件大小,避免数据文件过度扩展-使用裸设备或高性能存储系统提高I/O性能-配置多块读取参数,优化I/O操作-使用直接路径加载(directpathload)减少I/O开销-对于大型表,考虑使用分区技术,提高查询和维护性能其他优化策略:-硬件优化:使用高性能服务器、增加内存、使用SSD等-网络优化:优化网络配置,减少网络延迟-应用设计优化:优化应用架构,减少数据库访问-并发控制优化:合理设置隔离级别,减少锁争用-定期收集统计信息,帮助优化器生成更好的执行计划-使用Oracle的自动优化特性,如自动存储管理、自动内存管理等性能优化是一个持续的过程,需要定期监控和分析数据库性能,根据实际情况调整优化策略。2.Oracle数据库的备份与恢复策略:备份与恢复是数据库管理的重要组成部分,确保数据的安全性和可用性。Oracle提供了多种备份方式和恢复策略,需要根据实际需求和场景选择合适的方案。备份方式:-冷备份(脱机备份):-在数据库关闭状态下进行备份-备份所有数据文件、控制文件、重做日志文件和初始化参数文件-优点:简单可靠,恢复快速-缺点:需要停机备份,不适用于7x24小时运行的业务系统-适用场景:可以接受计划内停机的系统,小型数据库-热备份(联机备份):-在数据库运行状态下进行备份-需要数据库处于ARCHIVELOG模式-使用ALTERDATABASEBEGINBACKUP和ALTERDATABASEENDBACKUP命令-优点:不需要停机,适用于7x24小时运行的业务系统-缺点:复杂,需要更多的存储空间,恢复时间较长-适用场景:不能停机的关键业务系统,大型数据库-增量备份:-只备份自上次备份以来发生变化的数据-可以与冷备份或热备份结合使用-优点:节省存储空间和备份时间-缺点:恢复过程复杂,需要多个备份文件-适用场景:大型数据库,存储空间有限的情况-RMAN(恢复管理器)备份:-Oracle提供的专用备份和恢复工具-支持增量备份、压缩备份、加密备份等高级功能-优点:功能强大,可靠性高,易于管理-缺点:需要学习和配置-适用场景:所有规模的企业数据库恢复策略:-完全恢复:-恢复到故障点或指定的时间点-需要备份文件和归档日志文件-适用于所有类型的故障,如介质故障、用户错误等-可以最大程度地减少数据丢失-不完全恢复:-恢复到某个时间点,之后的数据将丢失-使用UNTILTIME、UNTILSEQUENCE等子句指定恢复点-适用于特定场景,如恢复误删除的数据-时间点恢复:-恢复到指定的时间点-需要精确的时间信息-适用于恢复用户错误操作,如误删除表-表空间恢复:-只恢复特定的表空间-减少恢复时间和对系统的影响-适用于部分表空间损坏的情况-数据恢复:-使用Flashback技术恢复特定的数据-包括FlashbackTable、FlashbackQuery、FlashbackDrop等-适用于恢复误删除或修改的数据备份策略规划:-根据业务需求确定恢复时间目标(RTO)和恢复点目标(RPO)-制定备份计划,包括备份频率、备份类型、备份位置等-考虑备份的保留策略,根据法规要求和业务需求确定备份保留时间-定期测试备份和恢复流程,确保备份的有效性和恢复的可靠性-考虑使用第三方备份工具,如OracleDataGuard、OracleRAC等提高可用性和可靠性最佳实践:-遵循3-2-1备份原则:3份数据副本,2种不同介质,1份异地存储-定期验证备份文件的完整性和可用性-对关键业务系统考虑使用高可用性解决方案,如OracleDataGuard、OracleRAC等-建立完善的备份和恢复文档,包括详细的操作步骤和应急计划-培训数据库管理员掌握备份和恢复技能总之,备份与恢复策略需要根据业务需求、系统规模、可用资源等因素综合考虑,制定适合的方案,并定期测试和优化,确保数据的安全性和业务的连续性。六、SQL编程题答案1.创建员工表:```sql--创建部门表CREATETABLEdepartments(dept_idNUMBER(4)PRIMARYKEY,dept_nameVARCHAR2(30)NOTNULL,locationVARCHAR2(30));--创建职位表CREATETABLEjobs(job_idVARCHAR2(10)PRIMARYKEY,job_titleVARCHAR2(35)NOTNULL,min_salaryNUMBER(8,2),max_salaryNUMBER(8,2));--创建员工表CREATETABLEemployees(emp_idNUMBER(6)PRIMARYKEY,emp_nameVARCHAR2(25)NOTNULL,job_idVARCHAR2(10)NOTNULL,dept_idNUMBER(4),hire_dateDATENOTNULL,salaryNUMBER(8,2),manager_idNUMBER(6),--添加约束CONSTRAINTfk_jobFOREIGNKEY(job_id)REFERENCESjobs(job_id),CONSTRAINTfk_deptFOREIGNKEY(dept_id)REFERENCESdepartments(dept_id),CONSTRAINTfk_managerFOREIGNKEY(manager_id)REFERENCESemployees(emp_id),CONSTRAINTchk_salaryCHECK(salary>0),CONSTRAINTchk_hire_dateCHECK(hire_date<=SYSDATE));--创建序列用于生成员工IDCREATESEQUENCEemp_seqSTARTWITH1001INCREMENTBY1NOCACHE;--创建触发器自动生成员工IDCREATEORREPLACETRIGGERemp_triggerBEFOREINSERTONemployeesFOREACHROWBEGINIF:NEW.emp_idISNULLTHEN:NEW.emp_id:=emp_seq.NEXTVAL;ENDIF;END;/```2.计算各部门的平均薪资和最高薪资:```sqlDECLARE--声明游标CURSORdept_cursorISSELECTd.dept_id,d.dept_nameFROMdepartmentsdORDERBYd.dept_id;--声明变量v_avg_salaryNUMBER(10,2);v_max_salaryNUMBER(10,2);BEGINDBMS_OUTPUT.ENABLE(BUFFER_SIZE=>NULL);DBMS_OUTPUT.PUT_LINE('部门ID部门名称平均薪资最高薪资');DBMS_OUTPUT.PUT_LINE('----------------------------------------');--遍历部门游标FORdept_recINdept_cursorLOOP--计算当前部门的平均薪资和最高薪资SELECTAVG(e.salary),MAX(e.salary)INTOv_avg_salary,v_max_salaryFR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论