Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Snowflake存储过程,检查resultset是否为空而不引发错误_Javascript_Stored Procedures_Snowflake Cloud Data Platform - Fatal编程技术网

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.
}