我想知道Snowflake SQL中Teradata BTEQ“create set table”的等效查询。我正在研究BTEQ到Snowflake之间的查询转换。有没有直接的语法?如果没有,我如何创建一个集(仅允许唯一值/记录)表?
答案 0 :(得分:0)
Snowflake没有这项功能,而且除了Teradata以外我不知道任何数据库。
您可以尝试模仿,例如通过始终使用临时登台表插入数据,然后MERGE
或INSERT..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特定的语法。