Teradata Volatile Table语句不创建任何行

Ada*_*dam 7 teradata

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

    CREATE VOLATILE TABLE a AS
    (
        Select * FROM ...
    ) WITH DATA PRIMARY INDEX ( ACCOUNT_ID )
;
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*ler 26

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

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

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