0
点赞
收藏
分享

微信扫一扫

GBASE南大通用GBase数据表选项的顺序

此语法图显示了包含多个下列选项的 CREATE TABLE 语句中表选项的顺序:

  • WITH 选项
  • SECURITY POLICY 选项 
  • 存储选项 
  • LOCK MODE 选项 
  • USING Access-Method 子句 
  • 统计信息选项。 

如果您包含了多个 WITH 选项,则在连续的 WITH 选项之间需要逗号分隔符(,)。 

有关在分片表的行中使用 WITH ROWIDS 选项的信息,请参阅使用 WITH ROWIDS 选项。 

同一 CREATE TABLE 语句中的多个 WITH 选项不要求先后顺序,但是您包含的所有的 WITH 选项必须在上述列表中的任何其它五个表选项之前。

例如,下列两个 CREATE TABLE 语句是等价的:

CREATE STANDARD TABLE IF NOT EXISTS myShadowy_tab(colA INT, colB CHAR) 

WITH ERRKEY, WITH CRCOLS, WITH AUDIT LOCK MODE ROW; 

CREATE STANDARD TABLE IF NOT EXISTS myShadowy_tab(colA INT, colB CHAR) 

WITH AUDIT, WITH ERRKEY, WITH CRCOLS LOCK MODE ROW;

如果您在相同的数据库中连续发出这些语句,则第二条语句失败,因为第一条语句创建的名为 myShadowy_tab 的表已经在数据库中存在。由于 IF NOT EXISTS 关键字,冗余的第二条语句不会 返回错误,但是它不会创建新表。

以下示例发生错误而失败,因为其它 Options 子句不能在 WITH 子句前面: 

CREATE TABLE shadow_columns (colA INT, colB CHAR) 

LOCK MODE ROW WITH AUDIT, WITH ERRKEY, WITH CRCOLS; --bad options order 

下一个 CREATE TABLE 示例也失败,因为在同一 Options 子句中 Statistics 选项不能在 LOCK MODE 选项前面:

CREATE TABLE shadow_columns (colA INT, colB CHAR)

STATCHANGE 25 STATLEVEL TABLE LOCK MODE PAGE; --bad options order

举报

相关推荐

0 条评论