ALTER TABLE 修改表有一个或多个对象访问此列

原创
2016-06-07 16:18:52 2513浏览

修改表时出现, 消息 5074,级别 16,状态 1,第 2 行 对象'DF__DDCZJLB_M__DDCZJ__5BBA8402' 依赖于 列'DDCZJLB_GROUPID'。 消息 4922,级别 16,状态 9,第 2 行 由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN DDCZJLB_GROUPID 失败。 解决方法:

  修改表时出现,

  消息 5074,级别 16,状态 1,第 2 行

  对象'DF__DDCZJLB_M__DDCZJ__5BBA8402' 依赖于 列'DDCZJLB_GROUPID'。

  消息 4922,级别 16,状态 9,第 2 行

  由于一个或多个对象访问此列,ALTER TABLE ALTER COLUMN DDCZJLB_GROUPID 失败。

  解决方法:

  去除约束 方法:

  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(对象),删除后在执行即可

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。