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

請注意Oracle對象的大小寫

數據庫 Oracle
有些人可能不習慣表名、字段全部用大寫,而喜歡用小寫或大小寫混雜的形式,如果是這樣的話,你在ORACLE中寫腳本時就要注意了,沒有處理好,這樣會給你帶來“無窮的麻煩”。

在數據庫新建一個測試表(數據庫版本為ORACLE 10.2.0.1.0),表名為小寫的test 腳本如下所示:

  1. CREATE TABLE test  
  2. (  
  3.      id      NUMBER(10),  
  4.      Name    VARCHAR2(20),  
  5.      Sex     VARCHAR(2)  
  6. )  
  7. --查找不到對應數據  
  8. SELECT * FROM USER_TABLES WHERE TABLE_NAME = 'test' 
  9. --改用大寫才可以查到對應的數據  
  10. SELECT * FROM USER_TABLES WHERE TABLE_NAME ='TEST' 
  11. --查找不到對應數據  
  12. SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'test';  
  13. SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME ='TEST';  

 下面我們用雙引號來新建另外一個表(ORACLE 中 " "的作用是強制區分大小寫,以及關鍵字做字段時用"")腳本如下所示:

  1. CREATE TABLE "test1" 
  2. (   
  3.   "id"       NUMBER(10),  
  4.   "Name"     VARCHAR2(20),  
  5.   "SEX"      VARCHAR(2)  
  6. )  
  7. SELECT * FROM USER_TABLES WHERE TABLE_NAME = 'test1';  
  8. SELECT * FROM DBA_TABLES WHERE TABLE_NAME = 'test1';  
  9. SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME ='test1';  
  10. SELECT * FROM "test1";  
  11. --ORA-00942: 表或試圖不存在  
  12. SELECT * FROM test1;  
  13. --ORA-00904: "NAME": 標識符無效  
  14. SELECT id, Name, SEX FROM "test1";  
  15. --ORA-00904: "ID": 標識符無效  
  16. SELECT id, "Name", SEX FROM "test1";  
  17. SELECT "id""Name", SEX FROM "test1";  
  18. --ORA-00942: 表或試圖不存在  
  19. SELECT "id""Name", SEX FROM test1;    

上面的例子也許會讓覺得比較奇怪,這種現象在SQL SERVER里面是不存在的。這是因為ORACLE在建表或者字段時,如果沒有雙引號,ORACLE會把表名、字段名全部轉化為大寫字母然后寫入數據字典。訪問數據字典時,沒有雙引號ORACLE會將其轉化成大寫然后再去數據字段中查找。如果加上雙引號則能區分大小寫。不僅僅關鍵字不區分大小寫,函數名,過程,表名稱,pl/sql塊中變量名,用戶名,密碼等都不區分大小寫。

有些人可能不習慣表名、字段全部用大寫,而喜歡用小寫或大小寫混雜的形式,如果是這樣的話,你在ORACLE中寫腳本時就要注意了,沒有處理好,這樣會給你帶來“無窮的麻煩”

如上所示,你必須在字段上加上"",否則這里報錯,哪里起火。而人有時候又是很粗心、健忘的。所以在ORACLE中,還是建議全部用大寫,這樣可能開始會讓你有些不爽,不過習慣了就好了。總比你用""給后面的開發帶來很多隱患要好得多。 

在ORAClE中,習慣腳本、字段等用大寫,有人說能提高效率,這樣少了強制轉換大寫(如果沒有雙引號的話)開銷,也有人說這些開銷可以忽略不計,不會有啥性能方面的問題。(當然腳本全部用大寫一致,可以避免同一腳本由于大小寫問題多次解析,這是可以肯定的)。小弟不才,也不能確定,網上這方面的資料也少,希望大家能討論 

原文鏈接:http://www.cnblogs.com/kerrycode/archive/2011/05/05/2037151.html

【編輯推薦】

  1. Oracle的安全標記算不算bug
  2. 淺述當前模式讀與一致性讀續
  3. 淺述當前模式讀與一致性讀的區別
  4. 告訴你,如何成就DBA職業生涯
  5. Oracle業務就緒存儲系統助力企業實現存儲升級

 

責任編輯:艾婧 來源: 博客園
相關推薦

2021-06-15 09:39:45

Oracle敏感數據庫

2010-10-27 17:16:51

Oracle查詢

2010-11-25 16:09:58

mysql查詢大小寫

2022-11-10 08:40:56

OracleMySQL

2010-11-23 13:42:18

mysql數據庫大小寫

2010-05-11 13:25:18

Mysql大小寫

2009-06-21 13:44:21

LinuxTr大小寫轉換

2010-10-11 15:47:46

MySQL字符串大小寫

2021-06-04 10:30:41

MySQL表名大小

2010-03-04 14:02:51

Python大小寫

2010-05-26 15:24:09

MySQL字符串

2020-10-15 17:55:37

Linux命令行大小寫轉換

2011-08-30 10:10:30

UbuntuLinuxMySQL

2010-06-07 13:00:34

MySQL數據庫

2020-03-11 10:45:36

Linux命令Linux大小寫

2010-03-25 10:39:26

Python代碼

2020-10-14 07:46:46

Linux大小寫轉換

2017-06-12 16:10:05

MySQL表名

2010-06-04 20:04:10

MySQL數據庫大小寫

2011-08-08 13:15:35

QWrap
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚| 在线观看视频一区 | 欧美区日韩区 | 亚洲精品日韩在线 | 国产区一区 | 亚洲综合二区 | 国产丝袜一区二区三区免费视频 | 久久久久久成人网 | 国产精品国产精品国产专区不片 | 操操日 | 国产成人精品一区二区三区在线 | 欧美亚洲国产一区二区三区 | 日韩欧美在线观看一区 | 久久亚洲一区二区三区四区 | 中文字幕av亚洲精品一部二部 | 亚洲视频欧美视频 | 伊人超碰| 久久高清国产视频 | 欧美一级欧美三级在线观看 | 国产又色又爽又黄又免费 | 国产精选一区 | 日本黄色不卡视频 | 欧美日韩中文字幕在线播放 | 你懂的在线视频播放 | 午夜在线影院 | 欧美日韩一卡二卡 | 一区二区不卡视频 | 国产精品久久久亚洲 | 日韩欧美在线精品 | 毛片一区二区 | 日韩中文字幕一区二区三区 | 国产区在线观看 | 国产色网| 国产sm主人调教女m视频 | 亚洲综合天堂 | 色婷婷av一区二区三区软件 | 91免费在线 | 精品国产乱码久久久久久图片 | 国产无套一区二区三区久久 | 亚洲国产欧美国产综合一区 | 久久久久久久久久久久久九 |