首页 > 解决方案 > 如何检索通过雪花 javascript API 插入的行数?

问题描述

如果我通过 javascript API 在 Snowflake 中运行 INSERT/SELECT,无论插入了多少行,返回的 rowCount 似乎都是 1...

myStatement = snowflake.createStatement( {sqlText: mySql} );
myStatement.execute();

rowCount = myStatement.getRowCount();

有没有一种简单的方法来检索插入的行数?难道我做错了什么?

谢谢

标签: snowflake-cloud-data-platform

解决方案


不,你没有做错什么。Snowflake 执行查询与SELECT * .... 执行UPDATE\DELETE\INSERT 语句不同。

在雪花中,如果您执行选择,并且知道返回的行数,那么您是正确的,您执行:

myStatement = snowflake.createStatement( {sqlText: "SELECT * FROM TABLE1"} );
myStatement.execute();
rowCount = myStatement.getRowCount();

当您执行“INSERT\UPDATE\DELETE”时,雪花只返回一行,正如@greg-pavlik 的回答所示,该行具有修改的行数。然而,还有更简单的方法。

myStatement = snowflake.createStatement( {sqlText: "INSERT ..."} );
myStatement.execute();
rowCount = myStatement.getNumRowsAffected();

推荐阅读