Teradata 临时 Table

Teradata Temporary Table

我需要有关在 Teradata 中创建临时 table 的帮助。下面我正在创建一个全局临时 table TOPTABLE3。然后我将 10 行插入 table。但是,当我查询 table 时,我只返回 0 行,这表明记录没有插入临时 table。提前致谢。

CREATE global temporary table  TOPTABLE3 (
TABLE1  VARCHAR(20))

-- 创建 TABLE 已完成。处理了 0 行。经过的时间 = 00:00:01

INSERT INTO TOPTABLE3 
SEL          top 10 TABLE1  
FROM    schema.table 
where       table.column1 = 'D'  
and  table.column2 = CAST('01/01/2017' AS DATE FORMAT 'MM/DD/YYYY')    

-- 插入完成。处理了 10 行。已用时间 = 00:00:06 输出指向答案 window

SELECT  *
FROM     My_ID.TOPTABLE3

-- SELECT 完成。返回 0 行。经过的时间 = 00:00:02

当您执行 SHOW TABLE 时,您会发现 ON COMMIT DELETE ROWS 选项,它基于标准 SQL,但在 Teradata 中非常无用(除非您切换到 ANSI 会话) .

您 运行 一个 Teradata 会话,默认为每个请求一个事务,并且 我们在 Explain t运行 中发送了一个 END TRANSACTION 步骤 table。

改用ON COMMIT PRESERVE ROWS

顺便说一句,您最好使用始终为 YYYY-MM-DD:

的日期文字,而不是 CAST('01/01/2017' AS DATE FORMAT 'MM/DD/YYYY')
DATE '2017-01-01'