谁能告诉我如何处理雪花中的继续和退出处理程序异常?
DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_atend=1;
DECLARE EXIT HANDLER FOR SQLSTATE '22003'
BEGIN
SET p_errorMsg = 'SQLSTATE 22003 - Numeric overflow occurred setting bonus';
END;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SET v_atend=1;
答案 0 :(得分:0)
您也必须使用 Snowflake try catch 块来捕获系统定义的异常或自定义函数。
我从这个 url 中获取的示例代码之一将帮助您了解如何处理 Snowflake 中的错误。
create procedure broken()
returns varchar not null
language javascript
as
$$
var result = "";
try {
snowflake.execute( {sqlText: "Invalid Command!;"} );
result = "Succeeded";
}
catch (err) {
result = "Failed: Code: " + err.code + "\n State: " + err.state;
result += "\n Message: " + err.message;
result += "\nStack Trace:\n" + err.stackTraceTxt;
}
return result;
$$
;