百科知识网

Oracle数据库的面试题目及答案

发布时间:2025-10-09 | 来源:互联网转载和整理

Oracle数据库的面试题目及答案

  基础题目:

  1.比较truncate和命令

  解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollbacksegment.

  而delete是DML操作,需要rollbacksegment且花费较长时间.

  【相同点

  truncate和不带where子句的,以及drop都会删除表内的数据

  不同点:

  1.truncate和只删除数据不删除表的结构(定义)

  drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的.存储过程/函数将保留,

  但是变为invalid状态.

  2.语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.

  truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.

  3.语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动

  显然drop语句将表所占用的空间全部释放

  truncate语句缺省情况下见空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).

  4.速度,一般来说:drop>;truncate>;

  5.安全性:小心使用drop和truncate,尤其没有备份的时候.否则哭都来不及

  使用上,想删除部分数据行用,注意带上where子句.回滚段要足够大.

  想删除表,当然用drop

  想保留表而将所有数据删除.如果和事务无关,用truncate即可.如果和事务有关,或者想触发trigger,还是用.

  如果是整理表内部的碎片,可以用truncate跟上reusestroage,再重新导入/插入数据

  】

  2.Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理?

  答案:nvl(字段,0).

  nvl()函数

  从两个表达式返回一个非null值。

  语法

  NVL(eExpression1,eExpression2)

  参数

  eExpression1,eExpression2

  如果eExpression1的计算结果为null值,则NVL()返回eExpression2。如果eExpression1的计算结果不是null值,

  则返回eExpression1。eExpression1和eExpression2可以是任意一种数据类型。如果eExpression1与eExpression2

  的结果皆为null值,则NVL()返回.NULL.。

  返回值类型

  字符型、日期型、日期时间型、数值型、货币型、逻辑型或null值

  说明

  在不支持null值或null值无关紧要的情况下,可以使用NVL()来移去计算或操作中的null值。

  selectnvl(a.name,空得)asnamefromstudentajoinschoolbona.ID=b.ID

  注意:两个参数得类型要匹配

  3.Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到10)和varchar2(10)类型的字段中,

  其存储长度及类型有何区别?

  答案:

  区别:1).char的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“test,对于char(10),

oracle面试题

上一篇:山东教师资格证报名

下一篇:影视音乐赏析论文

其他文章

  • 如何举报高考违规
  • 很污的言情小说大全(言情小说大全污的片段)
  • 莲蓬乳和空心手指(蓬莲乳和空无指)
  • 天娱传媒旗下有哪些艺人
  • 终极一家为什么不能看了
  • 绵阳中学2023高三复读班招生简章
  • 暴殄天物和暴殄天物的区别
  • 自招线什么意思
  • 手机白名单怎么设置
  • 美国国庆放假几天
  • 附近有那些家政公司
  • 《满江红》全文诗词
  • 俩俩仨仨是成语吗
  • 果宝特攻中的人物名字都有谁
  • 东莞哪里有小龙虾批发
  • 袁氏家谱排辈
  • 年立水素杯真的有用吗
  • 汽车保养app排名推荐
  • 桥架人工费多少钱一米
  • 晚霞的寓意和象征