gpt4 book ai didi

snowflake-cloud-data-platform - 如何将结果从存储过程返回到雪花中的 TASK RETURN_VALUE?

转载 作者:行者123 更新时间:2023-12-04 07:17:59 25 4
gpt4 key购买 nike

我想将存储过程中的日志记录和状态消息返回到调用它的 TASK。

create or replace procedure status_return()
returns string not null
language javascript
as
$$
var result_status = 'The return status and debug information in string format';
return result_status; // Statement returned for info/debug purposes
$$;
我想传递存储过程调用的结果 status_return()回到任务
-- Create a task that calls the stored procedure every hour
create or replace task call_SP
warehouse = SMALL
schedule = '1 minute'
as
call status_return();
当我执行 TASK_HISTORY 查看 RETURN_VALUE总是空的。
select * 
from table(information_schema.task_history(SCHEDULED_TIME_RANGE_START => dateadd(hours, -5, current_timestamp()) ,
TASK_NAME => 'call_sp'));
enter image description here
如何在 task_history 中查看存储过程的结果是成功、失败还是错误?
我尝试通过以下方式创建任务,但未成功并且返回错误。
create or replace  task call_SP
warehouse = EDS_SMALL
schedule = '1 minute'
as
call system$set_return_value(call status_return());
我可以在 Tasks 中使用 Javascript 吗?将存储过程调用的结果存储到变量中并将其返回给 TASK 结果

最佳答案

为了能够得到一个 RETURN_VALUE 在您的 TASK_HISTORY 您必须使用 call system$set_return_value() 在存储过程中设置 return_value .
示例可以在 snowflake documentation 中找到.
如果您希望 task_history 的 return_value 字段在您的任务启动时返回您的结果状态变量,它应该是这样的:

create or replace procedure status_return()
returns string not null
language javascript
as
$$
var result_status = 'The return status and debug information in string format';
var rv_stmt = snowflake.createStatement({sqlText:`call system$set_return_value('` + result_status + `');`});
var rv_res = rv_stmt .execute(); // Set return_value

return result_status; // Statement returned for info/debug purposes
$$;

关于snowflake-cloud-data-platform - 如何将结果从存储过程返回到雪花中的 TASK RETURN_VALUE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68682311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com