oracle数据库简答题

合集下载

oracle简答题

oracle简答题

⒈Oracle数据库进程:(1.)日志写LGWR (Log Writer):将日志缓冲区中的所有记录项写到日志文件中,该进程在启动实例时自动启动。

LGWR在以下情况下写入:提交时,三分之一填满时,有1MB的重做时,每个三秒,DBWn写入前。

(2.)检查点(CKPT):在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。

检查点职责包括:检查点发信号给DBWn,使用检查点信息更新数据文件的头部,使用检查点信息更新控制文件。

(3. )系统监视(SMON):负责完成自动实例恢复,该进程在启动实例时自动启动。

系统监视职责:例程恢复(前滚重做日志中的更改,打开数据库供用户访问,回退未提交的事务处理),合并空闲空间,回收临时段。

(4.)进程监视(PMON):撤销异常中断的用户进程,并释放该进程已获得的系统资源或锁。

例程失败后,通过以下方法进行清理:回退事务处理,释放锁,释放其它资源,重新启动已失效的调度程序。

(5.)数据库写进程(DBWR):将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。

该进程在启动实例时自动启动。

在以下情况下写入:出现检查点,脏数据缓冲区达到阈值,没有空闲缓冲区,出现超时,表空间处于OFFLINE状态,表空间处于READ ONLY状态,对表执行DROP或TRUNCATE操作,对表空间执行BEGINBACKUP操作。

⒉Oralcle的内存结构:有两个内存区组成分别是:①系统全局区(SGA):在例程启动时分配,是Oracle例程的基本组件。

②程序全局区(PGA):在服务器进程启动时分配。

系统全局区(SGA,System Global Area.)是内存结构的主要组成部分,是Oracle为一个实例分配的一组共享内存缓冲区,保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析,重做日志管理等,是实例的主要部分。

oracle数据库面试题目(3篇)

oracle数据库面试题目(3篇)

第1篇1. 请简述Oracle数据库的体系结构,并说明各层的作用。

2. 请解释什么是Oracle实例?实例与数据库之间的关系是什么?3. 请简述Oracle数据库的存储结构,包括数据文件、控制文件、日志文件等。

4. 请说明Oracle数据库的内存结构,包括SGA、PGA等。

5. 请解释Oracle数据库的备份策略,包括全备份、增量备份、差异备份等。

6. 请说明Oracle数据库的恢复策略,包括不完全恢复、完全恢复等。

7. 请解释Oracle数据库的事务管理,包括事务的ACID特性。

8. 请说明Oracle数据库的锁机制,包括共享锁、排他锁等。

9. 请解释Oracle数据库的并发控制,包括多版本并发控制(MVCC)。

10. 请说明Oracle数据库的安全机制,包括角色、权限、用户等。

二、SQL语言1. 请简述SQL语言的组成,包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。

2. 请说明如何创建一个简单的表,包括表结构、字段类型、约束等。

3. 请编写一个查询语句,查询某个表中所有年龄大于30岁的记录。

4. 请编写一个更新语句,将某个表中年龄大于40岁的记录的年龄加1。

5. 请编写一个删除语句,删除某个表中年龄小于20岁的记录。

6. 请编写一个插入语句,插入一条记录到某个表中。

7. 请说明如何使用SQL语句实现分页查询。

8. 请说明如何使用SQL语句实现多表查询。

9. 请说明如何使用SQL语句实现子查询。

10. 请说明如何使用SQL语句实现联合查询。

三、Oracle高级特性1. 请解释什么是视图?如何创建视图?2. 请解释什么是索引?有哪些常见的索引类型?3. 请解释什么是触发器?如何创建触发器?4. 请解释什么是存储过程?如何创建存储过程?5. 请解释什么是函数?如何创建函数?6. 请解释什么是包?如何创建包?7. 请解释什么是序列?如何创建序列?8. 请解释什么是同义词?如何创建同义词?9. 请解释什么是物化视图?如何创建物化视图?10. 请解释什么是分区表?如何创建分区表?四、Oracle性能优化1. 请说明如何查看Oracle数据库的性能统计信息。

oracle数据库的试题及答案

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笔试题及答案

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复习题含答案

简答题(4*5’)1、简述Oracle数据库体系结构的构成。

答:数据库实例,物理存储结构和逻辑存储结构。

实例包括内存结构与后台进程;物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。

2、简述Oracle数据库逻辑存储结构的组成及相互关系。

答:Oracle数据库逻辑存储结构包括表空间、段、区、块四种。

其中,数据块是数据库中最小I/O单位,由若干连续的数据块组成的区是数据库中最小的存储分配单元,由若干区形成的段是相同类型的数据存储分配区域,由若干段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。

3、简述Oracle数据库重做日志文件的作用。

答:重做日志文件,保存了用户对数据库所作的更新操作,包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。

4、简述索引作用并说明索引按不同分类依据分为哪些类。

答:创建索引的作用是为了提高对表中数据的查询效率。

根据索引值是否唯一,可分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可分为平衡索引和位图索引;根据索引基于列数不同,可分为单列索引和复合索引。

5、简述Oracle的安全控制机制有哪些?答:1)、用户管理2)、权限管理3)、角色管理4)、表空间设置和配额5)、用户资源限制6)、数据库审计6、简述Oracle数据库角色的种类、作用以及如何利用角色为用户授权。

答:SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。

SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。

PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。

Oracle填空题和简答题

Oracle填空题和简答题

一、填空题:1. Oracle 11g中g表示 grid网格 。

2. 启动数据库的命令startup中,如果只启动实例,需要使用的参数是 nomount 。

P243. 关闭数据库的命令shutdown中,_____ABORT______方式具有一定的破坏性,下次启动数据库时需要进行恢复。

P274. 数据库管理员的英文缩写是_DBA_____。

5. 视图 是虚拟的表,它在物理上并不存在,可以把它看成是一个查询,它兼有查询的特点和表的特点。

6. 获取当前系统日期的函数是__ sysdate()___。

P977. 指定数据库标准数据块大小的初始化参数是______db_block_size_。

8. 在SELECT语句查询中,要去掉查询结果中的重复记录,应该使用____ distinct _____关键字。

9. 使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使用__having_______子句。

10. 关系数据库的数据操纵语言(DML) 主要包括insert、update和____delete______语句。

11. DBMS通常提供授权功能来控制不同的用户访问数据库中数据的权限,其目的是为了数据库的__安全性_ ______。

12. 关系代数中专门的关系运算包括:选择、投影、__连接____和除法。

13. 在Oracle数据库中,数据文件的扩展名是 .dbf 。

14. 在Oracle数据库中,控制文件的扩展名是 .ctl 。

15. 在SQL*plus中,输入一行语句之后,在语句结尾处要写 ;。

16.17. 在Oracle中游标的操作,包括声明游标、打开游标、_______读取游标_____和关闭游标4个步骤。

18. 在游标或者游标变量打开后,还没有进行第一次提取时,%notfound 属性为true。

19. 在Oracle数据库中是利用权限来进行安全管理,权限分为系统权限和__对象权限_______两种。

Oracle数据库简答题

Oracle数据库简答题

简述表空间和数据文件之间的关系。

答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。

tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。

简要介绍表空间、段、区和数据块之间的关系。

答:Oracle的逻辑存储单元从小到大依次为:数据块、区、段和表空间。

表空间又由许多段组成,段由多个区组成,区又由多个数据块组成。

简述过程和函数的区别。

答:过程被存储在数据库中,并且存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用。

函数必须有返回值,并且可以作为一个表达式的一部分,函数不能作为一个完整的语句使用,函数返回值的数据类型在创建函数时定义。

简述调用过程时传递参数值的三种方式。

答:IN参数,由调用者传入,并且只能够被存储过程读取,它可以接收一个值,但是不能在过程中修改这个值;OUT参数,由存储过程传入值,然后由用户接收参数值,它在调用过程时为空,在过程的执行中将为这参数指定一个值,并在执行结束后返回;IN OUT参数,同时具有IN和OUT参数的特性。

简述Oracle数据库中触发器的类型及其触发条件DDL 触发器在模式中执行 DDL 语句时执行数据库级触发器在发生打开、关闭、登录和退出数据库等系统事件时执行DML 触发器在对表或视图执行DML语句时执行(insert、update、delete)语句级触发器无论受影响的行数是多少,都只执行一次.默认方式行级触发器对DML语句修改的每个行执行一次。

For each row INSTEAD OF 触发器用于用户不能直接使用 DML 语句修改的视图答:行级触发器;语句级触发器;INSTEAD OF 触发器;系统事件触发器;用户事件触发器。

简述替代触发器的作用Instead of 触发器也称替代触发器,定义instead of 触发器后,用户对表的DML操作将不再被执行,而是执行触发器主体中的操作。

Oracle数据库试题100题(附答案)

Oracle数据库试题100题(附答案)

Oracle数据库试题100题(附答案)1.当Oracle服务器启动时,下列哪种文件不是必须的(D)。

A.数据文件B.控制文件C.日志文件D.归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据(B)。

A.用户进程B.服务器进程C.日志写入进程(LGWRD.检查点进程(CKPT)3.在Oracle中,一个用户拥有的所有数据库对象统称为(B)。

A.数据库B.模式C.表空间D.实例4.在Oracle中,有一个教师表teacher的结构如下:ID NUMBER(5)NAME V ARCHAR2(25)EMAIL VARCHAR2(50)下面哪个语句显示没有Email地址的教师姓名(C)。

A.SELECT name FROM teacher WHERE email = NULL;B.SELECT name FROM teacher WHERE email <> NULL;C.SELECT name FROM teacher WHERE email IS NULL;D.SELECT name FROM teacher WHERE email IS NOT NULL;5.在Oracle数据库的逻辑结构中有以下组件:A 表空间B 数据块C 区D 段这些组件从大到小依次是(B)。

A.A→B→C→DB.A→D→C→BC.A→C→B→DD.D→A→C→B6.在Windows操作系统中,Oracle的(A)服务监听并接受来自客户端应用程序的连接请求。

A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer7.在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将(B)表空间分配给用户作为默认表空间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简述表空间和数据文件之间的关系。

答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。

tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。

概述Oracle数据库体系的物理结构。

答:Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:数据文件(Data File):实际存储数据的地方;在线重做日志文件(Online Redo Log File):记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(Control File):记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(Parameter File):当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(Password File):验证哪些帐号能开启、关闭Oracle数据库。

简要介绍表空间、段、区和数据块之间的关系。

答:Oracle的逻辑存储单元从小到大依次为:数据块、区、段和表空间。

表空间又由许多段组成,段由多个区组成,区又由多个数据块组成。

简述Oracle实例系统中各后台进程的作用。

答:(1)DBWRn(Database Writer)的主要工作是将数据缓冲区中被改过的数据写回到数据文件里。

(2)LGWR(Log Writer)主要的工作是将Redo Log Buffer里的记录写到在线重做日志文件中。

(3)SMON(System Monitor)有两个主要的功能。

<1>执行Instance Recovery:当数据库不正常中断后再度开启时,SMON会自动执行Instance Recovery,也就是会将在线重做日志里面的数据回写到数据文件里面。

<2>收集空间:将表空间内相邻的空间进行合并的动作。

(4)PMON(Process Monitor):监视数据库的用户进程。

若用户的进程不当而被中断,PMON会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从Process List中移除,以终止Process ID。

(5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint完成时,会更新控制文件和数据库文件的文件头。

(6)ARCn(Archiver).当Oracle 数据库设定为ARCHIVELOG Mode时,ARCn 会在Log Switch时自动将Redo Log File复制一份到指定的目录下称为归档日志文件(Archivedredologs)。

共享和专用操作模式的工作过程有什么区别?在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。

共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。

在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn的调度下位任意数量的用户进程提供服务。

简述oracle的初始化参数文件?答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。

简述如何修改初始化参数文件?答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。

简述启动数据库时的状态。

答:开启数据库分成4种状态。

SHUTDOWN状态:数据库是关闭的。

NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。

MOUNT状态:会去读取控制文件。

数据库被装载。

OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。

简述数据库的各种关闭方式。

答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。

(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。

(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务均不被回退。

简述Oracle数据库的特殊状态?答:静默状态:只有具有管理员权限的用户(SYS、SYSTEM)才能在数据库中执行查询、更新操作和运行PL/SQL程序挂起状态:数据库所有的物理文件(控制文件、数据文件和重做日志文件)的I/O操作都被暂停,这样能够保证数据库在没有任何I/O操作的情况下进行物理备份。

利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。

如何设置SQL*Plus的运行环境?答:通过设置环境变量PAUSE为ON来控制SQL*Plus在显示完一页后暂停显示,直到按回车键后才继续显示下一页数据;使用命令SET PAGESIZE来改变默认一页显示的大小;通过设置LINESIZE可以修改系统默认的每行打印80个字符;用NUMFORMAT设置超过10字符的处理值;设置TIMING为ON来显示命令所消耗的系统时间。

如何使用SQL*Plus来设置缓存区?答:设置记事本作为用户的编辑器,就可以使用EDIT命令来执行编辑操作了,还可使用SA VE命令把当前SQL缓存区中的内容保存到指定的文件中,用CLEAR BUFFER命令清除SQL*Plus缓存区中的内容,若要获取通过SA VE保存的内容就要使用GET命令。

如何使用SQL*Plus帮助命令获知某命令的解释信息在不知道具体命令的时候,先用help index 查找出所有的命令,然后使用help [topic] 其中topic为该命令进行查询。

比较内连接和外连接?答:在内连接的检索结果中,都是满足连接条件的数据;外连接的特点是某些不满足条件的数据也可以出现在检索结果中。

外连接的语法和内连接的语法规则相似,区别在于外连接中用LEFT OUTER JION、RIGHT OUTER JOIN或FULL OUTER JOIN关键字,而不使用INNER JOIN关键字。

其中OUTER是可选的。

比较子查询和连接查询连接查询效率高,但是会导致重复数据。

如果确定连接查询不会重复,那么用连接查询会比较好。

子查询效率低,但是可以避免重复数据。

如果要到子查询,尽量使用索引提高效率。

有些情况必须避免重复数据,那就只能用子查询。

但是具体问题还是要具体分析。

如果主表很小,子表很大,并且有索引,是可以使用子查询的,如果主表很大,那就尽量避免子查询了。

显示游标的使用过程CURSORcursor_name [return ruturn_type] ISselect_statement;打开游标:OPENcursor_name;提取游标:FETCH cursor_name INTO variables_list;关闭游标:CLOSE CURSOR_NAME;使用带参数显式游标的4个步骤是1.声明游标:CURSOR cursor_name [(parameter[,parameter]…)] [return ruturn_type]IS select_statement; 2.打开游标:OPEN cursor_name [(parameter[,parameter]…)] ;3.提取游标:FETCH cursor_name INTO variables_list; 4.关闭游标:CLOSE CURSOR_NAME;描述游标的各个属性?答:%FOUND布尔型属性,如果sql语句至少影响到一行数据,则该属性为true,否则为false;%NOTFOUND布尔型属性,与%FOUND相反;%ISOPEN布尔型属性,当游标已经打开时返回true,游标关闭时则为false;%ROWCOUNT数字型属性,返回受sql语句影响的行数。

如何处理用户自定义异常?答:用户自定义异常是通过显示使用RAISE语句来引发的,当引发一个异常时,控制就转到EXCEPTION异常处理部分执行异常处理语句。

步骤如下:定义异常处理;触发异常处理;处理异常。

如何处理非预定义异常?答:在为非预定义异常命名时,使用语句PRAGMA EXCEPTION_INIT为错误号关联一个名称,随后就可以像对待系统预定义异常一样进行处理。

说明使用游标FOR循环如何对游标进行处理?答:游标FOR循环是显式游标的一种快捷使用方式,它使用FOR循环依次读取结果集中的数据。

当FOR循环开始时,游标会自动打开(不需要使用OPEN方法),每循环一次系统自动读取游标当前行的数据(不需要使用FETCH),当退出FOR循环时,游标被自动关闭(不需要使用CLOSE)select语句的基本作用是什么SELECT 语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。

1.检索单表数据,2.过滤数据,3.排序数据,4.多表检索,简述正规表达式Oracle 10g正则表达式提高了SQL灵活性。

有效的解决了数据有效性,重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。

Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。

它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符。

简述标量变量和复合变量之间的区别?答:如果变量只能存储一个单独的值,则该变量称为标量变量。

如果变量可以存储多个值,则该变量称为复合类型的变量。

标量变量是本数据类型,而复合变量是自定义记录类型,用户可以根据需要定义其结构,也可以使用由系统自动决定的变量的结构。

简述过程和函数的区别。

答:过程被存储在数据库中,并且存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用。

函数必须有返回值,并且可以作为一个表达式的一部分,函数不能作为一个完整的语句使用,函数返回值的数据类型在创建函数时定义。

简述调用过程时传递参数值的三种方式。

答:IN参数,由调用者传入,并且只能够被存储过程读取,它可以接收一个值,但是不能在过程中修改这个值;OUT参数,由存储过程传入值,然后由用户接收参数值,它在调用过程时为空,在过程的执行中将为这参数指定一个值,并在执行结束后返回;IN OUT参数,同时具有IN和OUT参数的特性。

举例说明什么是重载?答:PL/SQL允许重载,也就是在程序包中的过程和函数可以具有相同的名称,但只需它们的特性有所区别。

相关文档
最新文档