探索oracle dual表
探索oracle dual表
dual表與資料字典是由oracle資料庫一起自動建立的。dual存在於sys模式中,但是所有的使用者都可以
使用該表。
dual表的結構:
SQL> desc dual
Name Type Nullable Default Comments
----- ----------- -------- ------- --------
DUMMY VARCHAR2(1) Y
dual表中只有一列dummy,型別是varchar2。只能包含一條記錄,值是X。
SQL> select * from dual;
DUMMY
-----
X
下面是dual介紹dual表的用途
用作查詢當前登入使用者名稱:
SQL> select user from dual;
USER
------------------------------
HR
用作系統日期查詢:
SQL> select sysdate from dual;
SYSDATE
-----------
2012/2/13 0
用作表示式求值:
SQL> select 4*5+10 from dual;
4*5+10
----------
30
用作SQL函式的測試:
SQL> select length('oracle database') from dual;
LENGTH('ORACLEDATABASE')
------------------------
15
dual表主要用來返回一個資訊。常用於確定表示式的值,或者函式執行的效果。
dual表一次只能返回一條記錄。
dual表可以一次返回多個值:
SQL> select 4*5+10,3*6 from dual;
4*5+10 3*6
---------- ----------
30 18
SQL> select concat('oracle','database11g'),length('oracledatase11g')
2 from dual;
CONCAT('ORACLE','DATABASE11G') LENGTH('ORACLEDATASE11G')
------------------------------ -------------------------
oracledatabase11g 15
dual表用於求解表示式的值是可以使用變數:
SQL> select &var+4 from dual;
輸入 var 的值: 4
原值 1: select &var+4 from dual
新值 1: select 4+4 from dual
4+4
----------
8
sysy與system 使用者採用權對dual表進行insert,但是dual會記錄這些插入的值但是查詢的時候只有顯示X:
SQL> conn sys as sysdba
輸入口令:
已連線。
SQL> select * from dual;
DU
--
X
SQL> insert into dual values('I');
已建立 1 行。
SQL> insert into dual values('I');
已建立 1 行。
SQL> select * from dual;
DU
--
X
dual表中的值還是X。
下面是一個有意思的例子:
SQL> delete from dual;
已刪除 1 行。
SQL> select * from dual;
DU
--
I
SQL> select 4*5 from dual;
4*5
----------
20
dual表中的記錄是可以被刪除的,但是會自動的變成一個新插入的值。這裡是I。
並且不會影響dual表的功能.
SQL> delete from dual;
已刪除 1 行。
SQL> delete from dual;
已刪除 1 行。
SQL> delete from dual;
已刪除 1 行。
SQL> select * from dual;
DU
--
I
SQL> delete from dual;
已刪除 1 行。
.
.
.
SQL> select * from dual;
未選定行
SQL> select upper('oracle') from dual;
UPPER('ORACL
------------
ORACLE
剛才我們插入了多個I,現在全部刪除掉.直到沒有記錄。但是照樣不會影響dual表的功能。
從上面的實驗可以看出dual中的記錄類似一個佇列,X在最上面,其他插入的值存放在
後面,並且oracle控制一次只顯示一個值,當把X值刪除以後,後面的記錄就頂上來了。這裡
是I。
dual表在計算表示式的值時,函式測試時,應該也是把這些結果存放在dual表中的,並且
把這些值置於X值之前,oracle控制顯示當前的查詢(或者計算值)。等這些查詢,求值,測試
一結束。又刪除掉這些值。所有我們又只看到X。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-716100/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle的dual表Oracle
- Oracle dual表 詳解Oracle
- ORACLE DUAL表詳解Oracle
- Oracle中dual表的用途介紹Oracle
- 【原創】Oracle10g dual表的研究Oracle
- 會話與事務級臨時表和dual表會話
- 使用dual 虛表,構造連續資料
- 誤刪除dual表的解決辦法
- dual表與create table語句的關係
- 探索ORACLE_之表空間02_管理Oracle
- dual系統表被刪除的解決方法
- Oracle10g的FAST DUAL執行計劃OracleAST
- 【DUAL】資料庫nomount狀態下DUAL的內容資料庫
- 探索Oracle SCNOracle
- MySQL 分割槽表探索MySql
- FAST DUAL執行計劃?AST
- [20141218]誤操作刪除dual表的恢復.txt
- Perceptron, Support Vector Machine and Dual Optimization Problem (2)Mac
- Perceptron, Support Vector Machine and Dual Optimization Problem (3)Mac
- Perceptron, Support Vector Machine and Dual Optimization Problem (1)Mac
- 10G FAST DUAL 的優化AST優化
- [PHP核心探索]PHP中的雜湊表PHP
- 前端外掛之Bootstrap Dual Listbox使用前端boot
- Solaris 5.6 dual head monitor config
- Oracle redo日誌內容探索(一)Oracle Redo
- 探索Oracle pfile和spfile的祕密Oracle
- 探索ORACLE之RMAN_02基本使用Oracle
- 探索ORACLE之ASM02_安裝OracleASM
- 探索ORACLE之ASM04_維護OracleASM
- mybatis中insert into ...select ...from dual union all select ... from dual 提示sql命令未結束的問題MyBatisSQL
- tom 9I-10G的sga的多快取池 多塊和dual表的一點分析快取
- PHP核心探索之PHP中的雜湊表PHP
- #Paper Reading# Dual Learning for Machine TranslationMac
- DualGNN: Dual Graph Neural Network for Multimedia RecommendationGNN
- Oracle建表Oracle
- Oracle外部表Oracle
- Oracle 表分析Oracle
- Oracle 表碎片Oracle