Teradata Volatile Table语句不创建任何行

时间:2013-06-14 15:32:55

标签: teradata

我想在Teradata中创建表格。因此我使用这种语法:

    CREATE VOLATILE TABLE a AS
    (
        Select * FROM ...
    ) WITH DATA PRIMARY INDEX ( ACCOUNT_ID )
;

内部SELECT语句产生4行。但是,当我运行整个查询时,结果数据集没有任何行。奇怪,我知道 - 这就是我写作的原因。请帮忙。感谢。

1 个答案:

答案 0 :(得分:21)

您需要在易失性表中包含ON COMMIT PRESERVE ROWS选项和DDL:

   CREATE VOLATILE TABLE a AS
    (
        Select * FROM ...
    ) WITH DATA 
    PRIMARY INDEX ( ACCOUNT_ID )
    ON COMMIT PRESERVE ROWS;

volatile(和全局临时)表的默认COMMIT模式是DELETE事务结束时的行。