Eri*_*met 3 snowflake-cloud-data-platform
如果我通过 javascript API 在 Snowflake 中运行 INSERT/SELECT,看起来无论插入了多少行,返回的 rowCount 都是 1...
myStatement = snowflake.createStatement( {sqlText: mySql} );
myStatement.execute();
rowCount = myStatement.getRowCount();
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来检索插入的行数?难道我做错了什么?
谢谢
不,你没有做错什么。SELECT * .... Snowflake 中执行查询与执行语句之间存在差异UPDATE\DELETE\INSERT 。
在雪花中,如果您执行选择,并且知道返回的行数,那么您执行的是正确的:
myStatement = snowflake.createStatement( {sqlText: "SELECT * FROM TABLE1"} );
myStatement.execute();
rowCount = myStatement.getRowCount();
Run Code Online (Sandbox Code Playgroud)
当您执行“INSERT\UPDATE\DELETE”时,雪花仅返回一行,如 @greg-pavlik 的答案所示,该行具有已修改的行数。然而,还有一种更简单的方法。
myStatement = snowflake.createStatement( {sqlText: "INSERT ..."} );
myStatement.execute();
rowCount = myStatement.getNumRowsAffected();
Run Code Online (Sandbox Code Playgroud)