Snowflake cloud data platform 使用流进行雪花合并
Merge语句抛出: “无法识别布尔值” 我正在从流中读取所有varchar值并写入主表。我在源表或目标表中没有任何布尔值。无法找出为什么会出现“布尔值未识别”错误Snowflake cloud data platform 使用流进行雪花合并,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,Merge语句抛出: “无法识别布尔值” 我正在从流中读取所有varchar值并写入主表。我在源表或目标表中没有任何布尔值。无法找出为什么会出现“布尔值未识别”错误 更新部分中的列用和分隔: WHEN MATCHED AND S.METADATA$ACTION = 'INSERT' AND S.METADATA$ISUPDATE THEN UPDATE SET T.EMPNAME = S.EMPNAME AND T.EMPADD = S.EMPADD
更新部分中的列用
和分隔:
WHEN MATCHED AND S.METADATA$ACTION = 'INSERT' AND S.METADATA$ISUPDATE
THEN UPDATE SET T.EMPNAME = S.EMPNAME
AND T.EMPADD = S.EMPADD
AND T.EMPSALARY = S.EMPSALARY
-- AND is incorrect in this context
应该是,
:
WHEN MATCHED AND S.METADATA$ACTION = 'INSERT' AND S.METADATA$ISUPDATE
THEN UPDATE SET T.EMPNAME = S.EMPNAME
,T.EMPADD = S.EMPADD
,T.EMPSALARY = S.EMPSALARY
如果没有实际的代码,就不可能解决它。可能WHEN子句中的一个条件是无效的布尔测试。谢谢你,让我感到羞愧,因为我忽略了这么简单的事情。@MKS_AWS不用担心,顺便说一句,我也会重构,元数据$ISUPDATE=TRUE
,因为=TRUE
是肤浅的(列已经是布尔的)
WHEN MATCHED AND S.METADATA$ACTION = 'INSERT' AND S.METADATA$ISUPDATE
THEN UPDATE SET T.EMPNAME = S.EMPNAME
,T.EMPADD = S.EMPADD
,T.EMPSALARY = S.EMPSALARY