修改字段的数据类型、字段的默认值
来源:互联网 发布:淘宝自动批量下单软件 编辑:程序博客网 时间:2024/05/29 16:43
1。修改字段的数据类型、字段的默认值
(1)、先删除字段中的约束,再进行修改数据类型,有必要可以再加上已经删除的约束。
(2)、修改默认值时,先要删除字段中的约束,再添加新的默认值。
DECLARE @NAME NVARCHAR(128);/
SELECT @NAME=OBJ.NAME FROM SYSOBJECTS OBJ INNER JOIN /
SYSOBJECTS TAB ON OBJ.PARENT_OBJ = TAB.ID INNER JOIN /
SYSCOLUMNS COL ON OBJ.INFO = COL.COLID AND TAB.ID = COL.ID /
WHERE (TAB.NAME = '表名') AND (COL.NAME = '字段名');//查找相应字段的约束名
EXEC('ALTER TABLE [表名] DROP CONSTRAINT '+@NAME);//删除约束名
ALTER TABLE [表名] ALTER COLUMN [要修改类型的字段名] 数据类型;//修改数据类型
ALTER TABLE [表名] ADD DEFAULT '默认值' FOR [字段名] WITH VALUES;//添加默认值
2。用SQL语句修改表中字段的默认值
/*--修改/删除有默认值的字段 示例--*/
--测试表
Create Table t1(
ID int Default(0),
Name Varchar(16) Default(16),
Memo Varchar(255) Default('')
)
go
--要求,删除name字段,将memo字段改为: Memo Varchar(32) Default(32)
--处理方法
----a.先删除要处理字段的默认值约束
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='t1'
and (a.name='name' or a.name='memo')
exec(@s)
----b.再删除字段 name
alter table t1 drop column [name]
----c.修改字段 memo
alter table t1 alter column [memo] varchar(32)
----d.为字段 memo 添加默认值约束
set @s='alter table t1 add constraint
[df__t1__memo__'+cast(newid() as varchar(36))
+'] default (32) for memo'
exec(@s)
go
--插入数据测试
insert t1 values(default,default)
select * from t1
go
--删除测试
drop table t1
或
ALTER TABLE 表名 add DEFAULT ('修改后的默认值') for 字段名 WITH VALUES
注:如果该字段以前已经有默认值了,在修改之前需要先将约束删除,否则会报错
删约束的SQL:
Alter table 表名 drop constraint 约束名
关于约束名,需要先查一下,
查约束名的SQL:
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名‘
- 修改字段的数据类型、字段的默认值
- Sql修改表中带默认值约束的字段数据类型
- SQL 修改字段的默认值
- SQL SERVER 2005 修改字段的默认值
- sql server 修改字段的默认值
- 修改字段数据类型的方法
- SQL新增有默认值字段的字段
- MySQL修改字段默认值
- MYSQL修改字段默认值
- SQL修改字段默认值
- SQL修改字段默认值
- SQL修改字段默认值
- SQL修改字段默认值
- MySQL修改字段默认值
- MySQL修改字段默认值
- 修改表名,字段名,字段的数据类型
- 用SQL语句修改字段的默认值(downmoon)
- 修改字段默认值的SQL语句怎么写?
- 自定义应用程序配置文件(app.config)
- Update-FormatData 帮助信息
- htmlTable 模拟实现datagrid等的部分功能.
- An old article about OpenBSD project & Theo
- 今天装RHLinuxAS
- 修改字段的数据类型、字段的默认值
- excel 导数据到sql2000
- C#版的端口扫描器(PortScanner)
- Qt编程的一点体会
- Struggling
- SQL2005其中五个版本的比较
- Linux线程同步(4): 条件变量
- vs2005
- 为什么创建web Form时弹出“此项目的默认web访问模式设置为文件共享,但无法从路径.......