Oracle提供的最小的工作表,只有壹行壹列,具有某些特殊功用。
特性
1、Oracle提供的最小的表,不論進行何種操作(不要刪除記錄),它都只有壹條記錄——'X'。
例如:執行select * from dual,裏面只有壹條記錄;執行insert into dual values('Y')後,再次查詢dual表,仍然顯示壹條記錄。
2、是sys用戶下的壹張內部表,所有用戶都可以使用DUAL名稱訪問,無論什麽時候這個表總是存在。
例如:執行壹個查看當前日期的語句 select sysdate from dual,這條語句在放在放在任何壹個oracle數據庫當中都不會報錯,所以壹般做壹些特定查詢的時候用這個表是最穩妥的。
擴展資料
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”
[an error occurred while processing this directive]
百度百科-dual