PLSQL Language Referenc-PL/SQL集合和記錄-NSL引數值對字串索引的關聯陣列的影響
NSL引數值對字串索引的關聯陣列的影響
Natongal Language Support(NLS)引數,例NLS_SORT,NLS_COMP,NLS_DATE_FORMAT會影響用字串索引的關聯陣列。
(1)在填充了關聯陣列之後改變NLS引數的值
初始化引數NLS_SORT和NLS_COMP決定用字元索引的關聯陣列的索引的儲存存順序。如果在填充了用字串索引的關聯陣列之後,改變了任何一個引數,則集合的方法FIRST,LAST,NEXT,PRIOR會返回不希望的值或產生異常。如果必須要在會話改變這些初始化引數的值,可以在改變之後重新填充字元索引的關聯陣列。
(2)非VARCHAR2資料型別的索引
在用字串索引的關聯陣列的宣告中,字串的型別必須是VARCHAR2或它的子型別。然而可以使用任何可以被TO_CHAR轉換為VARCHAR2型別的索引來填充關聯陣列。
如果你的索引有不是VARCHAR2型別和它的子型別的,要確保這些索引在初始化引數改變之後是一致的和唯一的。
n 不要使用to_char(sysdate)作為索引,因為nls_data_format改變之後,這個值也變了。
n 不要使用可能被轉換為相同的VARCHAR2值的不同的NVARCHAR2值做索引。
n 不要使用僅僅在大小寫、音標字元、語調字元不同的CHAR或VARCHAR2索引
如果NLS_SORT引數以_CI或AI結束,則僅有大小寫、音標、音調不同的索引可能被轉換為相同的值。
(3)將關聯資料傳遞給遠端資料庫
如果將關聯陣列作為引數傳遞給遠端資料庫,並且本地和遠端資料庫有不同的NLS_SORT和NLS_COMP引數值:
n 集合的方法FIRST,LAST,NEXT,PRIOR會返回不希望的值或產生異常。
n 在本地資料庫上唯一的索引在遠端資料庫上可能會不唯一,會產生預定義的VALUE_ERROR異常。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1107198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-宣告關聯陣列常量SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-正確地使用關聯陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-給可變陣列和巢狀表賦NULL值SQL變數賦值陣列巢狀Null
- PLSQL Language Referenc-PL/SQL集合和記錄-多維集合SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合型別SQL型別
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-資料的相容性SQL變數賦值
- PLSQL Language Referenc-PL/SQL集合和記錄-集合構造器SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-可變陣列-正確地使用可變陣列SQL陣列
- PLSQL Language Referenc-PL/SQL集合和記錄-使用記錄更新行SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-巢狀表SQL巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-記錄更新和插入的限制SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合比較-和NULL比較可變陣列和巢狀表變數SQLNull陣列巢狀變數
- PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-將集合操作結果賦給巢狀表SQL變數賦值巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-記錄比較-將記錄插入到表中SQL
- PLSQL Language Referenc-PL/SQL集合和記錄-集合比較-比較巢狀表是否相等SQL巢狀
- PLSQL Language Referenc-PL/SQL集合和記錄-使用Multiset Conditions比較巢狀表SQL巢狀
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-偽列SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數賦值SQL變數賦值
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數SQL變數
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-開啟和關閉游標變數SQL變數
- PLSQL Language Referenc-PL/SQL子程式-使用子程式的原因SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數作為子程式引數SQL變數
- php關聯陣列和索引陣列差別PHP陣列索引
- PLSQL Language Referenc-PL/SQL子程式-前向宣告SQL
- PLSQL Language Referenc-PL/SQL子程式-子程式呼叫SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-事務處理和控制SQL
- 全面解析Js陣列遍歷對原陣列的影響及返回值JS陣列
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-語句SQL
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-FOR迴圈中的索引SQL索引
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-建立游標變數SQL變數
- 複合索引中前導列對sql查詢的影響索引SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-自治事務(二)SQL
- PLSQL Language Referenc-PL/SQL靜態SQL-靜態SQL的描述-游標-開啟和關閉顯式游標SQL
- oracle點陣圖索引對DML操作的影響Oracle索引
- PLSQL Language Reference-PL/SQL語言基礎-變數賦值-對BOOLEAN變數賦值SQL變數賦值Boolean
- PLSQL Language Referenc-PL/SQL動態SQL-何時需要動態SQLSQL
- PLSQL Language Referenc-PL/SQL子程式-巢狀、包和獨立的儲存子程式SQL巢狀