2013-07-18 51 views
0

得到一个错误而产生挥发标识列的非法使用的非法使用..标识列的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; 

回答

3

那么,当你阅读的错误信息清楚地表明它的IDENTITY列不支持挥发性表。

这是从消息手动切割&膏:

5784标识列%VSTR的非法使用。

说明:用户试图定义无效的标识列或错误地使用标识列。

1)标识列被定义为

  • a)一种复合索引的一部分
  • b)一种连接索引或散列索引
  • c)一种主分区:如果返回的错误索引
  • d)价值排序索引。

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

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

4)USING语句包含多个插入不同 标识列表的INSERT语句。 5)INSERT插入BY DEFAULT类型的标识列的输入参数是在插入语句中的另一个参数中重新使用的使用字段(例如:F1),例如,使用(F1 INT,F2 INT)选项卡(:F1,:F1);