oracle – 在程序包/存储过程中更改会话NLS_LENGTH_SEMANTICS =
我们的应用程序适用于oracle 10g数据库,我们计划现在将其迁移到exadata.
alter session set NLS_LENGTH_SEMANTICS='CHAR' 我只是想检查,可能会改变会话来改变这个会话变量影响代码功能吗? 任何线索都将受到高度赞赏 解决方法修订:我正在修改我的答案,因为来自另一位受人尊敬的Oracle员工专家(Sergiusz Wolicki)的建议,以及文档在此参数上进行了修订以警告不要将其设置为CHAR作为初始化参数,以及警告仍然存在的事实有12.1 http://docs.oracle.com/database/121/NLSPG/ch3globenv.htm#NLSPG234
警告: 使用编写良好的代码,它肯定不会影响“代码功能”,它只是一个简单影响新字段宽度的设置.这里的关键似乎是你可以保证这是多么舒服. 但是,如果甲骨文警告它,他们就有这方面的经验和证据.不知道长度语义的遗留应用程序或工具可能会受到影响. 由于向后兼容性,Oracle缺省传统上是BYTE,但是对于没有遗留内容的新数据库,没有更改它的风险,并且它不会影响内部数据字典,因为它们被锁定到BYTE语义而不管数据库是什么设置为NLS_LENGTH_SEMANTICS. (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |