我必须将SQL Server数据库迁移到Snowflake,我的大多数维度表都有一个标识列作为PK,然后在多个事实表中引用这些列。
我打算在雪花中复制这些表,但是我需要先插入现有数据(以使标识值保持不变),然后更改表以向PK添加序列,该序列将从更高的位置开始值+1。
我有点困惑,因为似乎无法更改现有的列并向其添加序列,我应该遵循任何解决方法或最佳实践吗?
欢呼
答案 0 :(得分:1)
您将要创建一个SEQUENCE,然后在创建以SEQUENCE作为默认主键的表时引用它。在此处的文档中:
https://docs.snowflake.net/manuals/sql-reference/sql/create-sequence.html https://docs.snowflake.net/manuals/sql-reference/sql/create-table.html#optional-parameters
然后使用为该列指定的数据加载数据,以便将其填充为当前值。创建SEQUENCE时,您将需要设置“下一个值”,因为以后无法更改。