首页 > 解决方案 > 如何为具有存储过程的表创建增量记录 ID?

问题描述

我正在使用雪花。我有一个 Javascript 存储过程,它接受一个表并附加一些 API 调用返回的数据。

我想尽可能地自动化它,所以我想为用户提供一个选项来传递一个没有本机记录 ID的输入表。然后该过程创建一个临时记录 ID 列来执行匹配。数字必须从 0 到 count(*) - 1 与 API ID 一致。

不能使用雪花序列。对于超过 1000 条记录的表,它们非常不可靠,因为它们可以跳过/重复数字。

for(let i = 0; i < inputSize; i++){
        var cmd_addRowNum = `INSERT INTO ${TBL_OUT}(temp_primary_key) 
                            VALUES (${i})`;
        var stmt_addRowNum = snowflake.createStatement( {sqlText: cmd_addRowNum} );
        var results_addRowNum = stmt_addRowNum.execute();
}

不幸的是,这段代码不起作用,因为它只影响第一行的值。我需要在第一次迭代中插入第 1 行,然后在第 2 行插入第 2 次,依此类推。

标签: javascriptsqlstored-proceduressnowflake-cloud-data-platform

解决方案


推荐阅读