oracle中的dual表

dual是sys用户的一张虚拟表,任何用户均可访问,但是只能返回一行数据。该表只有一行一列,其实该表和系统中的其他表一样,一样可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,数据库起不了,会报Database startup crashes with ORA-1092错误。此时也不要慌乱,可以通过执行以下步骤来进行恢复。可以用sys用户登陆。在对dual表进行操作时,ORACLE对dual表的操作做了一些内部处理,尽量保证DUAL表中只返回一条记录.当然这写内部操作是不可见的 .我们可以用这个表来做一些如下的事情:

1.可以查看当前用户

select user from dual

2.调用系统函数

select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) fromdual;——获得当前系统时间

 select SYS_CONTEXT(’USERENV’,’TERMINAL’) fromdual; ——获得主机名

 select SYS_CONTEXT(’USERENV’,’language’) fromdual; ——获得当前locale

 select dbms_random.random fromdual; ——获得一个随机数

select sysdate from dual; ——获得oracle系统时间

3.得到序列的下一个或当前值

select your_sequence.nextval fromdual;——获得序列your_sequence的下一个值
 select your_sequence.currval fromdual;——获得序列your_sequence的当前值

4.用作计算器

select 7*9 fromdual

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值