0

创建易失性表时出错,非法使用标识列..

CREATE VOLATILE TABLE t1 (
    ID1 INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 MINVALUE 0 MAXVALUE 100 NO CYCLE),
    NoSec BigInt
) ON COMMIT PRESERVE ROWS;
4

1 回答 1

3

好吧,当您阅读错误消息时,它清楚地表明易失性表不支持 IDENTITY 列。

这是消息手册中的剪切和粘贴:

5784 非法使用标识列 %VSTR。

说明: 用户试图定义无效的标识列或不正确地使用标识列。如果出现以下情况,则返回错误:

1) 标识列定义为

  • a) 综合指数的一部分
  • b) 连接索引或哈希索引
  • c) 主分区索引
  • d) 价值排序的索引。

2) INSERT 到标识列的输入参数是使用字段(例如:F1),它是表达式的一部分,例如:F1+:F2 或:F1+2。

3)标识列在临时表或 **volatile 表中定义。它只能在永久表中定义。

4) 一条 USING 语句包含多个插入到不同标识列表中的 INSERT 语句。

5) INSERT 到 BY DEFAULT 类型的标识列的输入参数是一个使用字段(例如:F1),它在插入语句的另一个参数中被重用,例如 USING(F1 INT, F2 INT) INS tab(: F1,:F1);

于 2013-07-18T13:09:46.343 回答