为了账号安全,请及时绑定邮箱和手机立即绑定

雪花存储过程,检查结果集是否为空而不抛出错误

雪花存储过程,检查结果集是否为空而不抛出错误

MYYA 2023-07-20 17:16:58
与我打开的另一个雪花问题有些相关在雪花存储过程中,有没有办法检查结果集中有多少列?有没有办法检查结果集是否为空?例如var query = `SELECT * FROM somewhere`var stmt = snowflake.createStatement({sqlText: query});var result = stmt.execute();result.next()var colCount = stmt.getColumnCount();如果结果集中没有返回数据,则会出现错误。它说Failed Code 100183 State P0000 Message ResultSet is empty or not prepared, call next() first我尝试翻转它只是为了看看会发生什么。var query = `SELECT * FROM somewhere`var stmt = snowflake.createStatement({sqlText: query});var result = stmt.execute(); var colCount = stmt.getColumnCount();result.next();看起来这两行都var colCount = stmt.getColumnCount();抛出result.next();相同的错误,无论顺序如何。我怀疑该错误是因为结果集为空。如果我的怀疑是正确的,那么我需要另一种方法来检查。在引发此错误之前,是否有一种安全的方法来检查结果中是否有任何数据?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您可以通过以下方式获取结果集的计数:

语句.getRowCount();

在您的代码中,您将这样做:

var query = `SELECT * FROM somewhere`

var stmt = snowflake.createStatement({sqlText: query});

var result = stmt.execute();

if (stmt.getRowCount() > 0) {

    result.next()

    var colCount = stmt.getColumnCount();

} else {

    // Do something here if no rows in the resultset.

}


查看完整回答
反对 回复 2023-07-20
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信