欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-03-28 10:22:21
...

修改表时出现, 消息 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(对象),删除后在执行即可