Oracle 12.2 長識別符號

jelephant發表於2016-12-09

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章