在Snowflake sql中BTEQ“创建集合表”等效

时间:2017-01-18 09:58:57

标签: teradata snowflake-datawarehouse

我想知道Snowflake SQL中Teradata BTEQ“create set table”的等效查询。我正在研究BTEQ到Snowflake之间的查询转换。有没有直接的语法?如果没有,我如何创建一个集(仅允许唯一值/记录)表?

2 个答案:

答案 0 :(得分:0)

Snowflake没有这项功能,而且除了Teradata以外我不知道任何数据库。

您可以尝试模仿,例如通过始终使用临时登台表插入数据,然后MERGEINSERT..SELECT..,明确避免重复(在加载方),或通过SELECT DISTINCT * FROM table的视图访问数据。

答案 1 :(得分:0)

SET / MULTISET是Teradata的本机功能。要获得Snowflake中的等效项,您可以对所有列进行左连接以排除目标表中已经存在的行

Insert into TableB
select * from TableA A
left join TableB on TableB.col1 = TableA.col1 and so on
where TableB.col1 is null;

或者,您可以使用this chrome extension that converts the DDL from Teradata to Snowflake特定的语法。