Snowflake中如何将已创建序列绑定到现有表的prod_id列?
修正序列绑定到列的语句
你用UPDATE语句的思路错了——这个命令是用来修改表中已有行数据的,而要实现新增产品时自动用序列生成prod_id,需要修改表结构,给prod_id列设置默认值约束,正确的操作应该用ALTER TABLE命令。
正确的序列绑定语句:
ALTER TABLE product_table ALTER COLUMN prod_id SET DEFAULT prod_id_seq.NEXTVAL;
额外说明(若需补全现有空值数据):
如果你的表中存在prod_id为空的历史行,想要用序列值批量填充这些行,可以执行以下UPDATE语句(这一步仅用于补全数据,不是设置默认值的必要操作):
UPDATE product_table SET prod_id = prod_id_seq.NEXTVAL WHERE prod_id IS NULL;
内容的提问来源于stack exchange,提问作者ZachHoly
相关产品推荐
相关产品推荐

