aar*_*ron 5 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();
Run Code Online (Sandbox Code Playgroud)
如果结果集中没有返回数据,则会出现错误。它说
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();
Run Code Online (Sandbox Code Playgroud)
看起来这两行都var colCount = stmt.getColumnCount();抛出result.next();相同的错误,无论顺序如何。我怀疑该错误是因为结果集为空。如果我的怀疑是正确的,那么我需要另一种方法来检查。在引发此错误之前,是否有一种安全的方法来检查结果中是否有任何数据?
您可以通过以下方式获取结果集的计数:
语句.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.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7535 次 |
| 最近记录: |