Sql修改表中带默认值约束的字段数据类型

时间:2022-08-06 09:56:11
DECLARE @name VARCHAR(200)
SELECT @name = b.name
FROM syscolumns a ,
sysobjects b
WHERE a.id = OBJECT_ID(N'[dbo].[表名称]')
AND b.id = a.cdefault
AND a.name = '[字段名称]'
AND b.name LIKE 'DF%'
--1.删除默认值约束
EXEC('alter table [表名称] drop constraint '+@name)
--2.修改字段
ALTER TABLE [表名称] ALTER COLUMN [字段名称] MONEY NOT NULL
--4.重新添加默认值约束
EXEC('alter table [表名称] add constraint '+@name+' default 0 for [字段名称]')