ITPub博客

Oracle 12.2 长标识符

原创 Oracle 作者:jelephant 时间:2016-12-09 23:25:29 0 删除 编辑

Oracle 12.2将大多数标识符的最大大小从30字节增加到128字节,这使得从其他数据库引擎的迁移更容易。

长标识符

在某些时候,每个DBA或开发人员都将遇到一个点,其中对象名称的30个字符限制已导致问题。 当执行从SQL Server或MySQL到Oracle的迁移项目时,此限制可能非常痛苦。 在Oracle Database 12cR2中,大多数标识符的最大长度现在改为128个字符。

CREATE TABLE this_is_a_table_to_hold_employees_please_dont_put_customers_in_it (
  this_is_the_primary_key_column_which_uniquely_identifies_the_row  NUMBER,
  this_is_for_the_employee_name_so_dont_put_other_crap_in_it        VARCHAR2(100),
  CONSTRAINT this_is_a_table_to_hold_employees_please_dont_put_customers_in_it_pk
    PRIMARY KEY (this_is_the_primary_key_column_which_uniquely_identifies_the_row)
);

Table created.

SQL>

正如所料,这种变化已经包含了系统的许多方面,包括字典视图和JVM。

SQL> desc dba_tables
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OWNER                                     NOT NULL VARCHAR2(128) TABLE_NAME                                NOT NULL VARCHAR2(128) TABLESPACE_NAME                                    VARCHAR2(30)
 CLUSTER_NAME                                       VARCHAR2(128) IOT_NAME                                           VARCHAR2(128) STATUS                                             VARCHAR2(8)
 .
 .
 .
 CONTAINER_MAP_OBJECT                               VARCHAR2(3)

SQL>

向后兼容性

如果你需要支持多个版本的数据库,那么你要避免使用长标识符名称,否则遇到向后兼容性问题。

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

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

注册时间:2013-12-07

  • 博文量
    136
  • 访问量
    610201