2013-12-12 66 views
0

的Oracle 11gR1中的Oracle 11gR1中 - 案例insenstive列

有沒有一種方法來設置一個Oracle實例來對待所有的欄爲大寫,即使Oracle實例不區分大小寫的訪問具有區分大小寫的列名的數據庫時?

+0

默認情況下Oracle不區分大小寫嗎? – Mihai

+0

下面將在名爲'employee'的表中創建兩個列,一個上部和一個下部。我想防止這種情況發生。創建表員工(emp_name varchar2(20),「emp_name」varchar2(20)); – tale852150

回答

1

Oracle默認情況下不區分大小寫。如果原始開發者有意以這種方式創建它們,您只需要區分大小寫的標識符。如果這樣做了,除了在與數據庫交互時使用區分大小寫的名稱(阻止區分大小寫的標識符的原因之一),別無選擇。

當然,您可以編寫一點動態SQL,以改變以區分大小寫的方式創建的大小寫不敏感的任何表或列名稱。但是,這可能會破壞當前編寫的假定標識符區分大小寫的任何代碼。

+0

謝謝。這就是我所面臨的問題 - 使用小寫和大寫列名稱的源系統表,但根據源系統,列名可能是小寫或大寫。源系統方面沒有一致性。 – tale852150