2013-07-18 85 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);