批量修改SQL数据库表中 某字段的默认值 的语句 谢谢
我有一个表是KeyWords其中有个字段hits默认值是空我怎么把它批量更改为默认值是0谢谢...
我有一个表 是KeyWords 其中有个字段 hits 默认值是空我怎么把它批量更改为 默认值是0 谢谢
展开
1个回答
展开全部
----先删除要处理字段的默认值约束
declare @s varchar(8000)
set @s=''
select @s=@s+'
alter table ['+b.name+'] drop constraint ['+d.name+']'
from syscolumns a
join sysobjects b on a.id=b.id
join syscomments c on a.cdefault=c.id
join sysobjects d on c.id=d.id
where b.name='KeyWords'
and (a.name='hits')
exec(@s)
----如果要要将 hits 字段改为数字类型
alter table KeyWords alter column [hits] numeric(18,0)
----再为字段 hits 添加默认值约束
set @s='alter table KeyWords add constraint
[df__t1__hits__'+cast(newid() as varchar(36))
+'] default (0) for hits'
exec(@s)
go
--如果要改已有的数据
update KeyWords set hits=0 where 1=1
declare @s varchar(8000)
set @s=''
select @s=@s+'
alter table ['+b.name+'] drop constraint ['+d.name+']'
from syscolumns a
join sysobjects b on a.id=b.id
join syscomments c on a.cdefault=c.id
join sysobjects d on c.id=d.id
where b.name='KeyWords'
and (a.name='hits')
exec(@s)
----如果要要将 hits 字段改为数字类型
alter table KeyWords alter column [hits] numeric(18,0)
----再为字段 hits 添加默认值约束
set @s='alter table KeyWords add constraint
[df__t1__hits__'+cast(newid() as varchar(36))
+'] default (0) for hits'
exec(@s)
go
--如果要改已有的数据
update KeyWords set hits=0 where 1=1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询