更改具有依赖关系的表的列的长度

时间:2013-08-13 13:45:57

标签: sql sql-server-2008

我有一个名为Contacts的表,列名为varchar(50)。现在正处于开发阶段,我想将字段标题的长度更改为varchar(100)。目前,表联系人有超过25个依赖项(其他表,视图函数)。 当我在sql server 2008中运行以下sql语句时。我收到了错误。

ALTER TABLE [Contacts ] ALTER COLUMN [Title ] varchar(100)

错误就像

Msg 5074, Level 16, State 1, Line 2
The object 'Contacts_title' is dependent on column 'title'. 

还有更多。

2 个答案:

答案 0 :(得分:1)

你必须删除是重新创建Contact表上的约束来执行此操作或(有时不是真的建议)您可以临时禁用约束,更改长度并再次启用它们

--disable all constraints for the Sales.SalesOrderHeader table 
ALTER TABLE [yourtable] NOCHECK CONSTRAINT ALL  

--do your stuff

--do something  --enable all constraints for the Sales.SalesOrderHeader table 
ALTER TABLE [yourtable] CHECK CONSTRAINT ALL  

答案 1 :(得分:0)

您必须删除依赖关系,然后再次创建它。