Oracle中Dual偽列的使用

2021-06-06 03:12:08 字數 952 閱讀 5020

dual 是 oracle中的乙個實際存在的表,任何使用者均可讀取,常用在沒有目標表的select中。

使用方法: 

檢視當前連線使用者

sql> select user from dual;

檢視當前日期、時間

sql> select sysdate from dual;

sql> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

當作計算器用

sql> select 1+2 from dual;

檢視序列值

sql> create sequence aaa increment by 1 start with 1;

sql> select aaa.nextval from dual;

sql> select aaa.currval from dual;

刪除dual表後的處理

oracle系統中dual表是乙個「神秘」的表,網上有很多網友都對該錶進行了測試,該錶只有一行一列,其實該錶和系統中的其他表一樣,一樣可以執行插入、更新、刪除操作,還可以執行drop操作。但是不要去執行drop表的操作,否則會使系統不能用,資料庫起不了,會報database startup crashes with ora-1092錯誤。 

此時也不要慌亂,可以通過執行以下步驟來進行恢復。可以用sys使用者登陸。 

sql> create pfile=』d:\\pfile.bak』 from spfile 

sql> shutdown immediate 

在d:\\pfile.bak檔案中最後加入一條:replication_dependency_tracking = false 

重新啟動資料庫: 

sql> startup pfile=』d:\\pfile.bak』 

sql> create table 「sys」.」dual」

ORACLE中的偽列

oracle 中的偽列 偽列就像表中的列一樣,但是在表中並不儲存。偽列只能查詢。不能進行增刪改工作。rownum與rowid不同,rowid是插入記錄時生成,rownum是查詢資料時生成。rowid標識的是行的實體地址。rownum標識的是查詢結果中的行的次序。1.rowid 表中的每一行記錄都有乙...

Oracle中的偽列

分頁查詢中,需要用到偽列rownum,如下 select from select rownum rn,name from cost where rownum 6 where rn 3 可是第一次用rownum,第二次用rn,位置不能變,否則出錯,第一次的rownum是oracle中的乙個虛擬列,rn...

Oracle中的偽列

分頁查詢中,需要用到偽列rownum,如下 select from select rownum rn,name from cost where rownum 6 where rn 3 可是第一次用rownum,第二次用rn,位置不能變,否則出錯,第一次的rownum是oracle中的乙個虛擬列,rn...