Alter table RKD_MX ALTER COLUMN SL_JYBHG real执行后提示服务器: 消息 5074,级别 16,状态 1,行 1
对象 'DF_YG_RKD_Mx_ini_SL_JYBHG' 依赖于 列 'SL_JYBHG'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE ALTER COLUMN SL_JYBHG 失败,因为有一个或多个对象访问此列。SL_JYBHG 这个字段原来类型是numeric(18,2),需要修改成real
对象 'DF_YG_RKD_Mx_ini_SL_JYBHG' 依赖于 列 'SL_JYBHG'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE ALTER COLUMN SL_JYBHG 失败,因为有一个或多个对象访问此列。SL_JYBHG 这个字段原来类型是numeric(18,2),需要修改成real
下面是重现这个情况:
use tempdb
gocreate table t (col numeric(18,2) default 0)
goalter table t alter column col real
go
Alter table RKD_MX ALTER COLUMN SL_JYBHG real not null default 0
alter table t
drop constraint DF__t__col__7D78A4E7
go--修改类型
alter table t
alter column col real
go
先删除'DF_YG_RKD_Mx_ini_SL_JYBHG' 就可以 修改了,因为你原来表有一个缺省