oracle查询大小写敏感参数,让Oracle 大小写敏感 表名 字段名 对像名
一、解決方案
1、在表名、字段名、對象名上加上雙引號,即可實現(xiàn)讓oracle大小寫區(qū)分。
2、但是這又引起了另一個問題:在數(shù)據(jù)庫操作中,sql語句中相應的表名、字段名、對象名上一定要加雙引號。
解決辦法是:使用"\"轉義。如:
String sql = "select * from userinfo where\"loginId\"=? and loginpwd=?";
二、詳解
一 般情況下,使用者在進行Oracle開發(fā)或管理里都不會對ORACLE對像名大小寫進行區(qū)別,因為ORALCE在普通情況下會將所有小寫都轉換為大寫進行 處理,所以可以說是大小寫不敏感的。但是實際ORACLE內部有它一套完整的對像名處理方式。本文將從實例進行分析與探討ORACLE對像名大小寫敏感性 的處理機制。
可 能很多人在工作已經(jīng)了解到,ORACLE在創(chuàng)建對像時是可以加引號的,如果不加引號則不能使用特別字符,只能使用以字母開頭的命名。如果加了引號就可以在 對像名里使用任何字符,包括數(shù)字開頭、下劃線、逗號等等。在導出sqlSERVER2000的對像創(chuàng)建腳本時一般是加了引號的,所以經(jīng)常有人說腳本在 ORACLE中運行后對像不能訪問的問題。
注:
1、 本文是以ORACLE9.2為測試分析版本
2、 本文中提到的ORACLE對像名包括ORACLE中的表名、視圖名、字段名、函數(shù)名等等。
以下為創(chuàng)建表及訪問使用不同命名方式的一個實例,測試結果如下:
Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0 Connected as ***** sql> create table mytable1 2 ( 3 C1 VARCHAR2(6) 4 ); Table created sql> select * from "MYTABLE1"; C1 ------ sql> select * from MYtable1; C1 ------ sql> select * from "mytable1"; select * from "mytable1" ORA-00942: 表或視圖不存在 sql> drop table mytable1; Table dropped sql> sql> sql> create table "mytable1" 2 ( 3 C1 VARCHAR2(6) 4 ); Table created sql> select * from "mytable1"; C1 ------ sql> select * from mytable1; select * from mytable1 ORA-00942: 表或視圖不存在 sql> select * from MYTABLE1; select * from MYTABLE1 ORA-00942: 表或視圖不存在
測試結果匯總:
√表示允許訪問,×表示不允許訪問。
讀取 創(chuàng)建 mytable1 MYTABLE1 “mytable1” “MYTABLE1” mytable1 √ √ × √ MYTABLE1 √ √ × √ “mytable1” × × √ × “MYTABLE1” √ √ × √
總結:
讀取 創(chuàng)建 小寫字母 大寫字母 加引號小寫字母 加引號大寫字母 小寫字母 √ √ × √ 大寫字母 √ √ × √ 加引號小寫字母 × × √ × 加引號大寫字母 √ √ × √
分析結論:
ORACLE在創(chuàng)建對像時如果沒有加引號,對存入數(shù)據(jù)字典時都會將對像名小寫字母轉換成大寫字母存儲,如mytable將轉換成MYTABLE;如果創(chuàng)建時加了引號,則以引號內的實際字符存儲。
訪問時如果沒加引號則會將小寫字母轉換成大寫字母再訪問,如mytable將轉換成MYTABLE;如果加了引號則以引號內的實際字符訪問。
ORACLE在讀取數(shù)據(jù)字典時只要發(fā)現(xiàn)對像名里有小寫字母或者是除字母漢字以外開頭的字符都認為是大小寫敏感的,并且要求在訪問時需要加上引號。
總結
如果覺得編程之家網(wǎng)站內容還不錯,歡迎將編程之家網(wǎng)站推薦給程序員好友。
本圖文內容來源于網(wǎng)友網(wǎng)絡收集整理提供,作為學習參考使用,版權屬于原作者。
總結
以上是生活随笔為你收集整理的oracle查询大小写敏感参数,让Oracle 大小写敏感 表名 字段名 对像名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 91.91p10.space v.php
- 下一篇: php 递归展现城市信息,PHP 递归兑