Column-name-list
用于在通过查询创建表或临时表时重命名列;还可用于指定列的编码类型和 访问等级。
语法
column-name-list
[ ENCODING encoding‑type ]
[ ACCESSRANK integer ]
[ GROUPED ( column‑reference[,...] ) ]
参数
- column‑name
- 为列指定新名称。
ENCODING
encoding‑type- 指定要在列上使用的编码的类型。默认编码类型为“AUTO”。
-
ACCESSRANK integer
- 覆盖列的默认访问等级,对于确定列访问的优先级很有用。请参阅确定列访问速度的优先级。
GROUPED
- 将两个或多个列分组。有关详细信息,请参阅 GROUPED 子句。
要求
-
列表中的列不能指定该列的数据类型或任何约束。这些是从已查询表中派生的。
-
如果查询输出包含表达式简单列以外的表达式(例如,常数或函数),则必须为该表达式指定别名,或者列名称列表中必须包括所有已查询列。
-
CREATE TABLE 可以在列名称列表或查询的 ENCODED BY 子句之一中指定编码类型和访问等级,但不能同时在两者中指定。例如,以下 CREATE TABLE 语句将在列名称列表中的两列上设置编码和访问等级:
=> CREATE TABLE promo1 (state ENCODING RLE ACCESSRANK 1, zip ENCODING RLE,...) AS SELECT * FROM customer_dimension ORDER BY customer_state;
下一个语句在查询的 ENCODED BY 子句中指定相同的编码和访问等级。
=> CREATE TABLE promo2 AS SELECT * FROM customer_dimension ORDER BY customer_state ENCODED BY customer_state ENCODING RLE ACCESSRANK 1, customer_zip ENCODING RLE;