0

雪花代码

在 UI 中工作

从(选择 METADATA$FILENAME 作为 FILE_NM,METADATA$FILE_ROW_NUMBER 作为 ROW_NM,$1 作为 CSV_CONTENT,'P' 作为 LOAD_STATUS FROM @DWR_NA.GTR_STG.INT_REF_CSV_UNIX_STG)复制到 DWR_NA.GTR_STG.BASE_REF_CSV_STG (FILE_NM,ROW_NM,CSV_CONTENT,LOAD_STATUS)

相同的命令在 Unix snowsql 中不起作用

snowsql -c SF_DWR_connection -d $SFDB -q "复制到 DWR_NA.GTR_STG.BASE_REF_CSV_STG (FILE_NM,ROW_NM,CSV_CONTENT,LOAD_STATUS) from (select METADATA$FILENAME as FILE_NM,METADATA$FILE_ROW_NUMBER as ROW_NM,$1 as CSV_CONTENT, 'P' as加载状态来自@DWR_NA.GTR_STG.INT_REF_CSV_UNIX_STG);"

错误消息 000904 (42000):SQL 编译错误:位置 104 处的错误行 1 无效标识符 'METADATA'

我用内部和外部阶段尝试了上面的 sql,但没有工作。

请建议。

4

1 回答 1

0

这只是转义双引号字符串中的 $ 字符。你需要把它们写成“\$”所以请试试这个:

snowsql -c SF_DWR_connection -d $SFDB -q "copy into
 DWR_NA.GTR_STG.BASE_REF_CSV_STG 
(FILE_NM,ROW_NM, CSV_CONTENT,LOAD_STATUS) from 
(select METADATA\$FILENAME as FILE_NM, 
METADATA\$FILE_ROW_NUMBER as ROW_NM, \$1 as CSV_CONTENT, 
'P' as LOAD_STATUS FROM @DWR_NA.GTR_STG.INT_REF_CSV_UNIX_STG);"
于 2020-03-28T13:18:56.753 回答