Javascript Snowflake存储过程,检查resultset是否为空而不引发错误
有点和我提出的另一个雪花问题有关 有没有办法检查结果集是否为空?比如说Javascript Snowflake存储过程,检查resultset是否为空而不引发错误,javascript,stored-procedures,snowflake-cloud-data-platform,Javascript,Stored Procedures,Snowflake Cloud Data Platform,有点和我提出的另一个雪花问题有关 有没有办法检查结果集是否为空?比如说 var query = `SELECT * FROM somewhere` var stmt = snowflake.createStatement({sqlText: query}); var result = stmt.execute(); result.next() var colCount = stmt.getColumnCount(); 如果结果集中没有返回数据,则出现错误。上面说 失败代码100183状态P00
var query = `SELECT * FROM somewhere`
var stmt = snowflake.createStatement({sqlText: query});
var result = stmt.execute();
result.next()
var colCount = stmt.getColumnCount();
如果结果集中没有返回数据,则出现错误。上面说
失败代码100183状态P0000消息结果集为空或未准备好,请先调用next()
我试着把它翻过来看看会发生什么
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()代码>和结果。下一步()无论顺序如何,代码>都会抛出相同的错误。我怀疑错误是因为结果集为空。如果我的怀疑是正确的,那么我需要另一种方法来检查。在抛出此错误之前,是否有安全的方法检查结果中是否有任何数据?您可以通过以下方法获得结果集的计数:
语句。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.
}