如何用Sql更新默认值

oh_love 2005-04-22 02:58:38
先用下面语句创建了表
create table ff
(
aa varchar(100) null default '1'
)

如何用sql语句将默认值修改成'2'

...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2005-04-22
  • 打赏
  • 举报
回复
昨天给一个哥们写过类似的问题。

create table ff
(
aa varchar(100) null default '1'
)
GO
Declare @name Varchar(50)
Select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('ff') and b.id=a.cdefault and a.name='aa' and b.name like 'DF%'

If @name Is Not Null
Begin
Exec('Alter table ff drop Constraint '+@name)
Exec('Alter Table ff Add Constraint '+@name+' Default ''2'' for aa')
End
GO
insert ff values(default)
select * from ff
go
Drop table ff
GO
--结果
/*
aa
2
*/
Comer 2005-04-22
  • 打赏
  • 举报
回复
邹老大就是强
Comer 2005-04-22
  • 打赏
  • 举报
回复
这个我也不会

只能建议你看看help:alter table
zjcxc 2005-04-22
  • 打赏
  • 举报
回复
--你的建表语句
create table ff
(
aa varchar(100) null default '1'
)
go

--修改默认值
declare @s nvarchar(4000)
select @s='alter table ['+b.name+'] drop constraint ['+d.name+']'
-- ,表名=b.name,字段名=a.name,默认值=c.text,约束名=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='ff' and a.name='aa'
exec(@s)

--添加字段的默认值约束:
alter table ff add constraint DF_ff_aa_112312
default ('2') for aa

go

--插入一条记录测试
insert ff values(default)
select * from ff
go

drop table ff

/*--结果

aa
----------------------
2

(所影响的行数为 1 行)
--*/

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧