如何在teradata中创建临时表

时间:2014-07-29 16:46:50

标签: sql teradata temp teradata-aster

BEGIN;
CREATE TEMP FACT TABLE new_table  DISTRIBUTE BY hash(a.var3) as
SELECT (YEAR(a.var1) - b.var2), a.var3
FROM d.data1 a, c.data2 b
WHERE (YEAR(var1) - var2) > 40
;

GO
SELECT * FROM age_DRG;
END;

我不确定此代码有什么问题。我一直收到这个错误

"Executed as Single statement.  Failed [34 : HY000] [AsterData][ASTERJDBCDSII](34) NOTICE: current transaction is aborted, queries ignored until end of transaction block () 
Elapsed time = 00:00:00.016 

STATEMENT 1: BEGIN;
CREATE Statement failed. "

1 个答案:

答案 0 :(得分:0)

  1. YEAR没有这样的功能,你可以使用date_trunc('year',somedate)代替
  2. 您不需要使用“FACT”关键字,Aster会通过分发类型
  3. 来理解它
  4. dnoeth对,Aster
  5. 中没有GO关键字
  6. 我建议你使用连接更精确,因为Aster的设计是为了计算工人端的数据,而且我认为,连接对Aster来说更具“可读性”。