我正在尝试使用以下T-SQL向SQL Server中的现有字段添加默认约束:
alter table额外添加约束DF_Extra_ExternalRef DEFAULT('*')for ExternalRef值为
这会添加默认约束,但无法使用空值更新现有记录。
我正在使用SQL Server 2005。
答案 0 :(得分:4)
我在添加新列时只看到WITH VALUES
使用了这种方式(这是all that is documented)。如果您要向现有列添加约束,我认为WITH VALUES
是无操作。因此:
ALTER TABLE dbo.Extra ADD CONSTRAINT DF_Extra_ExternalRef
DEFAULT ('*') FOR ExternalRef;
UPDATE dbo.Extra SET ExternalRef = '*' WHERE ExternalRef IS NULL;