如何为雪花添加约束和默认值?

时间:2021-04-21 11:50:03

标签: sql snowflake-cloud-data-platform snowflake-schema

我有如下的 sql 查询

ALTER TABLE "db"."Ft" ADD  CONSTRAINT "Dname"  DEFAULT ((0)) FOR "cname"

当我尝试在 snowflake 中执行上述代码时。 我收到类似“unexpected 'DEFAULT”的错误。

1 个答案:

答案 0 :(得分:0)

不幸的是,这样的操作是不可能的。

<块引用>

ALTER TABLE … ALTER COLUMN

下表描述了支持/不支持的修改列属性的操作:

为列添加默认值。不支持


另一种方法是使用包含 DEFAULT 和重新填充数据的新定义重新创建表。

另一个选项是添加新列、复制数据和重命名列:

ALTER TABLE dbo.Ft ADD COLUMN cnmame2 STRING NOT NULL DEFAULT 0;
UPDATE TABLE dbo.Ft SET cname2 = cname;
ALTER TABLE dbo.Ft DROP COLUMN cname;
ALTER TABLE dbo.Ft RENAME COLUMN cname2 to cname;