ALTER TABLE 修改表时 因为有一个或多个对象访问此列
修改表时出现,
消息 5074,级别 16,状态 1,第 2 行
对象'DF__DDCZJLB_M__DDCZJ__5BBA8402' 依赖于 列'DDCZJLB_GROUPID'。
消息 4922,级别 16,状态 9,第 2 行
由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN DDCZJLB_GROUPID 失败。
对象'DF__DDCZJLB_M__DDCZJ__5BBA8402' 依赖于 列'DDCZJLB_GROUPID'。
消息 4922,级别 16,状态 9,第 2 行
由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN DDCZJLB_GROUPID 失败。
解决方法:
去除约束 方法:
1,右键表名,选择“设计表”
2,进入了表设计窗体后,右键,选择属性,把约束除去。
1,右键表名,选择“设计表”
2,进入了表设计窗体后,右键,选择属性,把约束除去。
方法二
1.查找出表中该字段的约束名称(或根据已有的提示及对象'DF__******')
declare @name varchar(50)
select @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault
where a.id = object_id('TableName')
and a.name ='ColumName'
2. 删除存在的约束
exec('alter table TableName drop constraint ' + @name)
3. 再执行修改字段类型的脚本即可。
或者 ,关掉一切使用此表的程序。
如果还不行,可以用
alter table ddczjlb drop constraint DF__DDCZJLB_M__DDCZJ__5BBA8402(对象),删除后在执行即可