ITPub博客

首页 > 数据库 > Oracle > PLSQL Language Referenc-PL/SQL集合和记录-NSL参数值对字符串索引的关联数组的影响

PLSQL Language Referenc-PL/SQL集合和记录-NSL参数值对字符串索引的关联数组的影响

原创 Oracle 作者: luisedalian 时间:2014-03-11 09:57:37 0 删除 编辑

NSL参数值对字符串索引的关联数组的影响

Natongal Language Support(NLS)参数,例NLS_SORTNLS_COMPNLS_DATE_FORMAT会影响用字符串索引的关联数组。

1)在填充了关联数组之后改变NLS参数的值

初始化参数NLS_SORTNLS_COMP决定用字符索引的关联数组的索引的存储存顺序。如果在填充了用字符串索引的关联数组之后,改变了任何一个参数,则集合的方法FIRSTLASTNEXTPRIOR会返回不希望的值或产生异常。如果必须要在会话改变这些初始化参数的值,可以在改变之后重新填充字符索引的关联数组。

2)非VARCHAR2数据类型的索引

在用字符串索引的关联数组的声明中,字符串的类型必须是VARCHAR2或它的子类型。然而可以使用任何可以被TO_CHAR转换为VARCHAR2类型的索引来填充关联数组。

如果你的索引有不是VARCHAR2类型和它的子类型的,要确保这些索引在初始化参数改变之后是一致的和唯一的。

n  不要使用to_char(sysdate)作为索引,因为nls_data_format改变之后,这个值也变了。

n  不要使用可能被转换为相同的VARCHAR2值的不同的NVARCHAR2值做索引。

n  不要使用仅仅在大小写、音标字符、语调字符不同的CHARVARCHAR2索引

如果NLS_SORT参数以_CIAI结束,则仅有大小写、音标、音调不同的索引可能被转换为相同的值。

3)将关联数据传递给远程数据库

如果将关联数组作为参数传递给远程数据库,并且本地和远程数据库有不同的NLS_SORTNLS_COMP参数值:

n  集合的方法FIRSTLASTNEXTPRIOR会返回不希望的值或产生异常。

n  在本地数据库上唯一的索引在远程数据库上可能会不唯一,会产生预定义的VALUE_ERROR异常。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1107198/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    5677809