DUAL是Oracle与数据字典一起自动创建的一个表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表。

dual是一个oracle内部表,不论我们做什么操作(不要删除记录)它都只有一条记录,上面插入了一条之后,他仍然只有1条记录,所以很多取系统时间,计算,等只要选择一条记录,而且记录内容与表内容无关的操作,我们都喜欢使用这个表虚表(dual)是oracle提供的最小的工作表,它仅包含一行一列。对于虚表(dual)来说,其中的列往往是不相关的或无关紧要的。

因为在oracle当中查询语句必须要有关键字 select ....from tablename; 只有这样语句才完整,要是没有表名就无法查询,而时间,日期等不存在于任何表,这个时候就引入了 dual 虚表的概念。

使用示例

  • 查看当前用户:
[html] view plain copy
  1. select user from dual;
  • 查看系统时间:
[html] view plain copy
  1. select sysdate from dual;
  • 用作计算器:
[html] view plain copy
  1. select 7*9*10-10 from dual;
  • 获取序列值:
[html] view plain copy
  1. select SEQ_PROJECT.NEXTVAL from dual;
  • 调用系统函数:
[html] view plain copy
  1. select to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') from dual;--获得当前系统时间
  2. select sys_context('userenv','terminal') from dual;--获得主机名
  3. select sys_context('userenv','language') from dual;--获得当前locale
  4. select DBMS_RANDOM.random from dual;--获得一个随机数
  • 赋值 select into
[html] view plain copy
  1. declare
  2. v_group_id number;
  3. begin
  4. select seq_resource_group.nextval into v_group_id from dual;

dual orcal 虚拟表相关推荐

  1. MySQL☞dual虚拟表

    Dual表:虚拟表,专门用来测试各种函数:(本来以为跟Oracle中的dual表一样,发现还是不太一样) 转载于:https://www.cnblogs.com/fuxinxin/p/9830666. ...

  2. Mysql:语法:虚拟表DUAL

    在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用. 你可千万注意了: select * f ...

  3. MySql类似Oracle的dual虚拟表

    在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用. 你可千万注意了: select * f ...

  4. mysql 的 虚拟表(DUAL)的介绍及使用场景---条件插入insert

    虚拟表 DUAL MySQL中使用select 1;不加 from table就可以执行 而在Oracle中需要满足select * from table;这样的结构 因此Oracle引入虚拟表DUA ...

  5. oracle表自动模拟多条数据,Oracle使用虚拟表dual一次插入多条记录

    Oracle使用虚拟表dual一次插入多条记录 BEGIN generate_tmpsht; execute immediate 'insert into SHTSUPPLIERRATE (suppl ...

  6. oracle的dual是啥表,Oracle的dual表是个什么东东

    dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情,如下: 1.查看当前用户,可以在 SQL Plus中执行下面语句 sele ...

  7. mysql 虚表_mysql虚拟表

    虚拟表,就是实际上并不存在(物理上不存在),但是逻辑上存在的表. 在MySQL中,存在的虚拟表:临时表.内存表和视图,派生表. 只能从select语句可以返回虚拟表的是视图和派生表. 一.派生表 当s ...

  8. 1.18.2.Table APISQL(概念与通用API、两种计划器(Planner)的主要区别、创建 TableEnvironment、临时表、永久表、创建表、虚拟表、Connector 等)

    1.18.2.概念与通用API 1.18.2.1.两种计划器(Planner)的主要区别: 1.18.2.2.Table API和SQL程序的结构 1.18.2.3.创建 TableEnvironme ...

  9. 数据库-触发器(定义、作用、使用方法、new/old虚拟表)

    (1)触发器定义: 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力. (2)触发器的作用: 1.安全性.可以基于数据库 ...

最新文章

  1. [epoll]epoll理解
  2. 前端学习(1429):ajax封装四
  3. (软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍
  4. struts中ModelDriven()接口
  5. 关于我在安装2.6.9版本bochs虚拟机时遇到的问题以及解决过程
  6. SQA定义、质量模型、SQA与测试的关系
  7. 侯捷老师——STL源码剖析
  8. 周立功上位机获取CAN通讯数据解析 V2.0
  9. PyTorch - torch.nn.PReLU
  10. Realtek网卡如何识别具体型号是8111B/8111C/8111D还是8111E
  11. Scrapy(爬虫)中文手册
  12. 监督学习算法的发展史和它们之间的关系:从文氏图到回归、决策树、支持向量机和人工神经网络
  13. Oracle EBS DBA培训提纲
  14. 计算机应用基础操作题答案,电大本科计算机应用基础网考操作题及答案
  15. 物联网毕业设计题目选题大全
  16. 为什么Arduino UNO工作电压是5V,但是需要9V的电源适配器
  17. 浅谈企业宣传片对于企业的意义
  18. Ubuntu构筑LiteIDE的Go语言开发环境
  19. 如何通俗地理解相似矩阵
  20. JAVA校园闲置物品交易系统源码+数据库,为在校师生提供闲置物品发布、物品查询、物品交易等功能

热门文章

  1. cdh必须要在root用户搭建吗_基于cloudera CDH5的环境搭建
  2. php写邮件空格_PHP 邮件漏洞小结
  3. cocos游戏源码怎么用_亲子游戏怎么玩?游戏方式用对了,才会事半功倍
  4. C#中数值型数据保留N位小数方法
  5. matlab神经网络的简单程序设计,BP神经网络设计的matlab简单实现
  6. ViSP创建之VS工程详细创建步骤(命令行方式)
  7. MySQL 表中添加 时间戳 字段
  8. 手机短信验证码真的安全吗?
  9. Python 学习笔记 - Memcached
  10. SQL Server 中@@IDENTITY的用法