oracle dual用法,oracle中的dual表

  oracle dual用法,oracle中的dual表

  简介]dual是一个虚拟表,用来构成select的语法规则。oracle保证dual中始终只有一条记录。我们可以用它做很多事情。

  Dual是一个虚拟表,用来构成select的语法规则。oracle保证dual中始终只有一条记录。我们可以用它做很多事情,如下所示:

  1.若要查看当前用户,可以在SQL Plus中执行以下语句select user from dual

  2.用于调用系统函数。

  select to_char(sysdate, yyyy-mm-DD hh24:mi:ss )from dual;-获取当前系统时间。

  从dual中选择SYS_CONTEXT(USERENV , TERMINAL );-获取主机名。

  从dual中选择SYS_CONTEXT(USERENV , language );-获取当前区域设置

  从dual中选择dbms _ random.random-得到一个随机数。

  3.要获取序列的下一个值或当前值,请使用以下语句

  从dual中选择your _ sequence.nextval-获取序列your_sequence的下一个值

  从dual中选择your _ sequence.currval-获取序列your_sequence的当前值。

  4、可作为计算器从dual中选择7 * 9;

  -

  Oracle系统中的对偶表是一个很神秘的表,很多在线用户都测试过。它只有一行和一列。事实上,它和系统中的其他表一样,可以执行插入、更新、删除和删除操作。但是不要掉表,否则会导致系统不可用,数据库无法启动,会报错ora-1092数据库启动崩溃。此时不要慌张,可以执行以下步骤进行恢复。您可以使用sys用户登录。

  SQL从spfile创建pfile=d:pfile.bak

  SQL立即关闭

  在d:pfile.bak文件的末尾,添加一个:

  复制依赖跟踪=假

  重新启动数据库:

  SQL启动pfile=d:pfile.bak

  SQL创建表“sys”。“双重”

  [处理此指令时出错]

  =====

  双重?有什么玄机?当你想获得ORACLE系统时间时,你不能简单地键入一行SQL吗?令人迷惑.

  SQL从dual中选择sysdate

  系统日期

  -

  2003年9月28日

  哈哈,确实DUAL用起来很方便。但是你知道DUAL到底是什么吗,它有什么特殊的行为吗?来吧,让我们看看。首先,弄清楚什么是对偶:

  SQL连接系统/管理器

  已连接。

  SQL select owner,object_name,object_type from dba_objects其中object _ name like“% DUAL %”;所有者对象名称对象类型

  - - -

  SYS DUAL表公共DUAL同义词

  本来DUAL是一个属于SYS schema的表,后来以PUBLIC SYNONYM的形式被其他数据库用户使用。

  再看它的结构:

  SQL desc双重名称为空?类型

  - - -

  虚拟VARCHAR2(1)

  结构化查询语言

  只有一个名为DUMMY的字符列。

  然后检查表格中的数据:

  SQL从dual中选择dummy

  假的

  -

  X

  哦,只有一个记录。哑元的值是“X”。很正常。这没什么奇怪的。嗯,这里有一些精彩的东西!

  插入记录:

  SQL connect sys作为sysdba

  已连接。

  SQL insert into dual values( Y );

  已创建1行。

  SQL提交;

  提交完成。

  SQL select count(*)from dual;

  计数(*)

  -

  2

  到目前为止,一切正常。然而,当我们再次检查记录时,奇怪的事情发生了。

  SQL select * from dual

  假的

  -

  X

  刚刚插入的记录不显示!明明DUAL表中有两条记录,却只显示了一条!

  再删一次试试,强硬一点,全删!

  从dual中删除SQL/*注意没有限定条件,试图删除所有记录*/

  删除了1行。

  SQL提交;

  提交完成。

  哈哈只删了一条记录,

  SQL select * from dual

  假的

  -

  Y

  为什么会这样?SQL的语法对DUAL不起作用吗?带着这个问题,

  从i query获得了甲骨文的一些官方信息。原来ORACLE对DUAL表的操作做了一些内部处理,尽量保证DUAL表只返回一条记录。当然,这种内部操作是看不见的。看来甲骨文真的蕴藏着无限的秘密!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: