我怎么能得到选择所有在雪花javascript过程到另一个临时表的结果?



我有一个JavaScript过程,从表中获取行。脚本如下所示:

var sql = "SELECT * FROM my_table WHERE id<1000";
var stmt = snowflake.createSnowflake({sqlText: sql});
var rs = stmt.execute();
rs.next();

我需要将rs复制到另一个表中,但我不能这样做,因为当我返回rs时,我只能看到一条记录。

我是否可以将获取的数据循环到insert中,如:

while(rs.next()) {
// insert into ...
}

回答你关于循环的问题:根据文档,ResultSet类似于SQL游标,即您可以在ResultSet中一次看到一行。通常,在检索ResultSet之后,使用next()遍历它。

您可以在这里找到一个使用next()并检索结果值的示例:https://docs.snowflake.com/en/sql-reference/stored-procedures-api.html

关于你的总体任务,你提到你"需要把这些数据复制到另一个表格中"。可能使用INSERT INTO myTable SELECT * FROM sourceTable是解决你的问题,而不必循环结果集。文档:https://docs.snowflake.com/en/sql-reference/sql/insert.html

相关内容

最新更新