dual表是Oracle中实际存在一个表,任何用户都可以读取,常用在没有目标表的select语句块中。
下面是我总结的一些常用语句的作用:
create sequence zlf increment by 1 start with 1;--查看序列值
select zlf.nextval from dual;--查看序列值
create sequence zlfwmm increment by 5 start with 10;--sequence从10开始,每执行一次增加5
select zlfwmm.nextval from dual;--按定义增加幅度来增加sequence值
select zlfwmm.currval from dual;--查看sequence当前的值
select owner, object_name , object_type from dba_objects where object_name like '%DUAL%';
select * from dual;
grant select on SYS.DUAL to PUBLIC with grant option;--DUAL在SYS这个Schema下面,因此用别的用户登录是无法查询这个表的,因此还需要授权
select count(*) from dual;
以前语在pl/sql中完成
dual表是一个一行一列的表
dual表是建立在SYSTEM表空间的,第一是因为dual这个表是sys这个用户创建的,本来默认的表空间就是system;第二把这个可能经常用到的表和用户表分开来存放,对于系统性能是有好处的