非法使用身份栏teradata

时间:2013-07-18 12:03:06

标签: teradata

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

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;

1 个答案:

答案 0 :(得分:3)

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

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

5784非法使用标识栏%VSTR。

说明:用户尝试定义无效的标识列或错误地使用标识列。如果出现错误:

1)标识列定义为

  • a)复合索引的一部分
  • b)连接索引或哈希索引
  • c)主分区索引
  • d)有价值的索引。

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

3)标识列在临时表或**易失性表中定义。有可能 只能在永久表中定义。

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

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