oracle中dual表作用

dual是Oracle中的一张内部表

Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。

NameType
DUMMYvarchar(1)

特性:

  • Oracle提供的最小的表,不论进行何种操作(不要删除记录),它都只有一条记录——‘X’。例如:执行select * from dual,里面只有一条记录;执行insert into dual values(‘Y’)后,再次查询dual表,仍然显示一条记录
  • 是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在。例如:执行一个查看当前日期的语句 select sysdate from dual,这条语句在放在放在任何一个oracle数据库当中都不会报错,所以一般做一些特定查询的时候用这个表是最稳妥的

用途

  • select计算常量表达式、伪列等值oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。
  • 查看当前用户select user from dual;select count(*) from dual;
  • 用做计算器select 7910-10 from dual;
  • 调用系统函数
  • 获得当前系统时间select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;
  • 获得主机名select sys_context(‘userenv’,‘terminal’) from dual;
  • 获得当前localeselect sys_context(‘userenv’,‘language’) from dual
  • 获得一个随机数select DBMS_RANDOM.random from dual;
  • 查看序列值
  • 创建序列aaa 以1开始,每次加1create sequence aaa increment by 1 start with 1;
  • 获得序列aaa 的下一个序列值select aaa.nextval from dual;
  • 获得序列aaa 的当前序列值select aaa.currval from dual;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值