oracle DDL语法时序图可选项是否有顺序
oracle官网提供的sql语法时序图,比如CREATE TABLE中的relational_table语法图如下
其中,physical_properties与table_properties都是可选项,是否需要按照图中顺序先定义physical_properties,后定义table_properties呢?
oracle DDL语法时序图可选项是否有顺序
验证过程
建表语句
CREATE TABLE t123 (id NUMBER ) CACHE PCTFREE 10;
CREATE TABLE t123 (id NUMBER ) PCTFREE 10 CACHE;
PCTFREE 10 为 physical_properties,CACHE 为 table_properties
均建表成功,说明physical_properties与table_properties并无先后顺序关系
建表语句
CREATE TABLE t123 (id NUMBER ) PCTFREE 10 CACHE PARALLEL;
CREATE TABLE t123 (id NUMBER ) PARALLEL CACHE PCTFREE 10;
CREATE TABLE t123 (id NUMBER ) PARALLEL PCTFREE 10 CACHE ;
CACHE与PARALLEL分别是table_properties中两个可选项,三条DDL均可建表成功,即允许table_properties –> physical_properties –> table_properties
那么同一个选项能不能重复定义呢?
CREATE TABLE t123 (id NUMBER ) PCTFREE 10 CACHE PCTFREE 20;
CREATE TABLE t123 (id NUMBER ) CACHE PCTFREE 20 NOCACHE;
以上两条DDL均不通过,分别报错:duplicate PCTFREE option specification ; only one CACHE or NOCACHE clause may be specified