【发布时间】:2021-08-17 13:50:27
【问题描述】:
问题陈述:snowflake 'get' 语句在雪花存储过程中不起作用。
CREATE OR REPLACE PROCEDURE SP_UNLOAD_DYNAMIC("prefix" varchar)
RETURNS varchar(1000)
LANGUAGE JAVASCRIPT
EXECUTE AS CALLER
AS
$$
var result = "";
try {
var sql00 = "select concat('" + prefix + "', to_char(ts,'yyyymmddhh24miss'),'.txt') from ts";
var stmt00 = snowflake.execute({ sqlText:sql00 });
stmt00.next();
var rs = stmt00.getColumnValue(1);
var sql01 = "copy into @my_unload_stage/unload/" + rs + " from tmp_dedupe header=false single=true max_file_size=4900000000 overwrite=true;"
var stmt01 = snowflake.execute({ sqlText:sql01 });
stmt01.next();
var sql02 = 'get @my_unload_stage file://D:\\project_x\\OutputFiles_STG\\';
var stmt02 = snowflake.execute({ sqlText:sql02 });
stmt02.next();
result = rs;
}
catch (err) {
result = "Failed: Code: " + err.code + "\n State: " + err.state;
result += "\n Message: " + err.message;
result += "\nStack Trace:\n" + err.stackTraceTxt;
}
return result;
$$;
在 stmt02 之前似乎一切正常。 get 语句在 snowsql 中有效,但在存储过程中无效。
想法,提前谢谢你。
-伊比
【问题讨论】:
-
您收到的错误信息是什么?文件是否被填充,即它是失败的get语句还是“stmt02.next();”失败了吗?
-
它的'get'语句。当我检查雪花查询日志时,它显示已处理。绿色检查。
-
好的 - 那么错误信息是什么?
标签: snowflake-cloud-data-platform java-stored-procedures