10

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

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

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

4

1 回答 1

37

您需要在ON COMMIT PRESERVE ROWSDDL 中为易失性表包含该选项:

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

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

于 2013-06-14T16:04:24.493 回答