Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Snowflake cloud data platform 使用流进行雪花合并_Snowflake Cloud Data Platform - Fatal编程技术网

Snowflake cloud data platform 使用流进行雪花合并

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

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 
        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