关于oracle中的dual
2014-07-03 09:19
232 查看
在实际应用中看到如下一条语句:SELECT ACC_LAGER_ACCOUNT_BATCH.nextval INTO dBacthId FROM dual;ACC_LAGER_ACCOUNT_BATCH是创建的一个序列:Sequence,这里dual是什么呢?为什么要加一个dual呢?百度到如下说明:
1. dual 确实是一张表.是一张只有一个字段,一行记录的表. 2.习惯上,我们称之为'伪表'.因为他不存储主题数据. 3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的. 如:select * from mytable ; select * from myview; 等等. 但如果我们不需要从具体的表来取得表中数据,而是单纯地为了得到一些我们想得到的信息,并要通过select 完成时,就要借助一个对象,这个对象,就是dual; 如我们要计算 999*999 的值,可以用: select 999*999 from dual; 来实现; 要拼接一个电话信息: select concat('010-','88888888')||'转23' 高乾竞电话 from dual; 就变成了我们想要的格式输出. 4.当然,我们不一定要dual ,也可以这样做.例如: create table mydual( dummy varchar2(1)); 也可以实现和dual 同样的效果: select 999*999 from mydual; 不过,dual 我们都用习惯了,就无谓自己再搞一套了.
综上所述,在select时要有表对象,为了方便起见,用到了dual。
相关文章推荐
- 关于oracle的dual
- 关于ORACLE DUAL表
- 关于Oracle的dual
- 关于在Solaris上进行配置Oracle环境的JDBC的方法的说明
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- 关于oracle的环境变量设置
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- 关于Oracle中Session的干掉问题。
- 关于OleDB\Oracle\SQLClient连接数据库的性能测试
- 关于数据库名(db_name)、实例名(instance_name)、ORACLE_SID
- ORACLE关于bin目录下各文件的意义及使用方法
- 关于Oracle 9i 跳跃式索引扫描(Index Skip Scan)的小测试
- ORACLE几个关于工作日数的函数(原创)
- 关于OracleOra 9a1e home91TNSListener无法启动的问题?
- 关于asp调用oracle存储过程的问题
- 关于ORACLE的版本开发注意事项!
- 小结:Oracle Internals: DUAL
- 关于在Windows中安装Oracle碰到ORA-12638错误的解决方法
- 这是一个关于Oracle数据备份的专辑
- 关于ORACLE连接池