成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭開功能強大的數據庫表DUAL的神秘面紗

數據庫 Oracle
DUAL是屬于SYS schema的一個表,然后以PUBLIC SYNONYM的方式供其他數據庫USER使用。它是一個虛擬表,用來構成select的語法規則,Oracle保證DUAL里面永遠只有一條記錄。

和系統數據庫中的其他表一樣,DUAL表可以插入、更新、刪除操作,還可以執行drop操作,不同的是該表只有一行一列,但是我們可以用它來做很多事情如下:

1、查看當前用戶,可以在SQL Plus中執行下面語句 select user from dual;

2、用來調用系統函數

  1. select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--獲得當前系統時間  
  2.  
  3. select SYS_CONTEXT('USERENV','TERMINAL') from dual;--獲得主機名  
  4.  
  5. select SYS_CONTEXT('USERENV','language') from dual;--獲得當前 locale  
  6.  
  7. select dbms_random.random from dual;--獲得一個隨機數 

3、得到序列的下一個值或當前值,用下面語句

  1. select your_sequence.nextval from dual;--獲得序列your_sequence的下一個值  
  2.  
  3. select your_sequence.currval from dual;--獲得序列your_sequence的當前值 

4、可以用做計算器 select 7*9 from dual;

Oracle系統中dual表是一個“神秘”的表,網上有很多網友都對該表進行了測試,該表還可以執行drop操作。但是不要去執行drop表的操作,否則會使系統不能用,數據庫起不了,會報Database startup crashes with ORA-1092錯誤。此時也不要慌亂,可以通過執行以下步驟來進行恢復??梢杂胹ys用戶登陸。

  1. SQL> create pfile=’d:pfile.bak’ from spfile  
  2.  
  3. SQL> shutdown immediate 

在d:pfile.bak文件中***加入一條:

  1. replication_dependency_tracking = FALSE 

重新啟動數據庫:

  1. SQL> startup pfile=’d:pfile.bak’  
  2.  
  3. SQL> create table “sys”.”DUAL”  
  4.  
  5. [an error occurred while processing this directive]  
  6.  
  7. ===== 

DUAL ? 有什么神秘的? 當你想得到ORACLE系統時間, 簡簡單單敲一行SQL不就得了嗎? 故弄玄虛….

SQL> select sysdate from dual;

#p#

DUAL的使用很方便. 但是大家知道DUAL倒底是什么OBJECT, 它有什么特殊的行為嗎? 來,我們一起看一看.首先搞清楚DUAL是什么OBJECT :

  1. SQL> connect system/manager  
  2.  
  3. Connected.  
  4.  
  5. SQL> select owner, object_name , object_type from dba_objects where object_name like '%DUAL%'; OWNER OBJECT_NAME OBJECT_TYPE  
  6.  
  7. --------------- --------------- -------------  
  8.  
  9. SYS DUAL TABLE PUBLIC DUAL SYNONYM 

原來DUAL是屬于SYS schema的一個表,然后以PUBLIC SYNONYM的方式供其他數據庫USER使用.

再看看它的結構:

  1. SQL> desc dual Name Null? Type  
  2.  
  3. ----------------------------------------- -------- ----------------------------  
  4.  
  5. DUMMY VARCHAR2(1)  
  6.  
  7. SQL>  

只有一個名字叫DUMMY的字符型COLUMN .

然后查詢一下表里的數據:

  1. SQL> select dummy from dual;  
  2.  
  3. DUMMY  
  4.  
  5. ----------  
  6.  

只有一條記錄, DUMMY的值是’X’ .很正常啊,沒什么奇怪嘛. 好,下面就有奇妙的東西出現了!

插入一條記錄:

  1. SQL> connect sys as sysdba  
  2.  
  3. Connected.  
  4.  
  5. SQL> insert into dual values ( 'Y');  
  6.  
  7. 1 row created.  
  8.  
  9. SQL> commit;  
  10.  
  11. Commit complete.  
  12.  
  13. SQL> select count(*) from dual;  
  14.  
  15. COUNT(*)  
  16.  
  17. ----------  
  18.  

迄今為止,一切正常. 然而當我們再次查詢記錄時,奇怪的事情發生了

  1. SQL> select * from dual;  
  2.  
  3. DUMMY  
  4.  
  5. ----------  
  6.  

剛才插入的那條記錄并沒有顯示出來 ! 明明DUAL表中有兩條記錄, 可就是只顯示一條!

再試一下刪除 ,狠一點,全刪光 !

  1. SQL> delete from dual; /*注意沒有限定條件,試圖刪除全部記錄*/  
  2.  
  3. 1 row deleted.  
  4.  
  5. SQL> commit;  
  6.  
  7. Commit complete. 

哈哈,也只有一條記錄被刪掉,

  1. SQL> select * from dual;  
  2.  
  3. DUMMY  
  4.  
  5. ----------  
  6.  

為什么會這樣呢? 通過查看ORACLE官方的資料得知: ORACLE對DUAL表的操作做了一些內部處理,盡量保證DUAL表中只返回一條記錄.當然這些內部操作是不可見的。

由此可見,Oracle數據庫DUAL表的用途還是相當廣泛的,如果想更多地了解Oracle的信息,請參考我們公司的網站的Oracle專欄:http://database.51cto.com/oracle/。

【編輯推薦】

  1. 解析OCR與Voting Disk以及其管理
  2. Oracle認證:Oracle優化器的優化方式
  3. Oracle數據庫使用OMF來簡化數據文件的管理
  4. 淺談禁用以操作系統認證方式登錄Oracle數據庫
  5. 淺析Windows通過ODBC訪問linux的Oracle數據庫
責任編輯:趙鵬 來源: 中國IT實驗室
相關推薦

2015-08-20 13:43:17

NFV網絡功能虛擬化

2010-05-17 09:13:35

2021-06-07 08:18:12

云計算云端阿里云

2014-03-12 11:11:39

Storage vMo虛擬機

2017-10-16 05:56:00

2010-05-26 19:12:41

SVN沖突

2009-06-01 09:04:44

Google WaveWeb

2018-03-01 09:33:05

軟件定義存儲

2009-09-15 15:34:33

Google Fast

2016-04-06 09:27:10

runtime解密學習

2023-11-02 09:55:40

2024-02-14 09:00:00

機器學習索引ChatGPT

2016-11-16 09:06:59

2025-01-07 15:07:13

2021-08-11 09:01:48

智能指針Box

2011-08-02 08:59:53

2021-07-28 21:49:01

JVM對象內存

2021-09-17 15:54:41

深度學習機器學習人工智能

2020-04-14 10:44:01

區塊鏈滲透測試比特幣

2021-05-25 09:01:21

Linux命令Bash histor
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产一区二区在线 | 一级a爱片久久毛片 | 99久久精品免费看国产高清 | 久久精品在线 | 在线2区 | www.一区二区三区 | 草草草网站 | 久久综合888 | 国产精品伦理一区二区三区 | 国产激情一区二区三区 | 国产东北一级毛片 | 亚洲资源在线 | 黑人性hd | 性色av一区 | 精品久久九 | 99精品欧美一区二区蜜桃免费 | aaa天堂 | 精品一区二区三区免费视频 | 日韩中文电影 | 亚洲一区二区三区四区五区中文 | www.国产一区| 91成人在线视频 | 99精品国产一区二区青青牛奶 | 成人福利视频网站 | 精品乱码一区二区三四区 | 国产欧美一区二区三区在线看 | 91精品久久 | 免费特黄视频 | 欧美电影免费网站 | 亚洲国产成人精品女人久久久 | 国产在线一区二区三区 | 日本三级电影免费 | 国产免费一区二区 | 亚洲日韩中文字幕一区 | 国内自拍视频在线观看 | 欧美日韩在线观看一区 | 成人精品国产免费网站 | 国产精品一区一区三区 | 欧美一区二区成人 | 久久国产精品久久久久久 | 亚洲视频观看 |