数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类 全部分类技术牛文全部分类教程最新 网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava 新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销 开发数据库服务器系统虚拟化云计算 嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

SQL Server表中添加新列并添加描述

日期:2016/9/11 22:08:00 来源:本网整理
s">

SQL Server表中添加新列并添加描述

作者:2778085001 字体:[增加 减小] 类型:转载 时间:2016-07-12 我要评论

这篇文章主要介绍了SQL Server表中添加新列并添加描述的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ">

注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008).

工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先附上存储过程然后解释)

/********调用方法**********
作用: 添加列并添加列描述信息
调用:
exec [SetColumnInfo] '表名', '列名', N'列说明,描述','列类型{默认:NVARCHAR(50)}','列默认值{默认:NULL}'
******************/
CREATEPROCEDURE [dbo].[SetColumnInfo]
@tableName NVARCHAR(100) --表名
,@columnName NVARCHAR(100) --列名
,@columnInfo NVARCHAR(2000) --列说明,描述
,@columnType NVARCHAR(100)='NVARCHAR(50)' --列类型 例如: NVARCHAR(50)
,@columnDefault NVARCHAR(100)='NULL' --列默认值 例如: NULL
as
begin
IFNOTEXISTS (
SELECT *
FROM syscolumns
WHERE id = object_id(@tableName)
AND NAME = @columnName
)
BEGIN
print 'exec:'+('ALTER TABLE ' + @tableName + ' ADD ' + @columnName + '' + @columnType + '' + @columnDefault)
print 'Add['+@columnName+']column'
EXEC ('ALTER TABLE ' + @tableName + ' ADD ' + @columnName + '' + @columnType + '' + @columnDefault)
END
IFEXISTS (
SELECT *
FROM::fn_listextendedproperty('MS_Description', 'SCHEMA' --用户或用户定义类型
, N'dbo' --指定的 0 级对象类型的名称
, N'TABLE' --1 级对象的类型 
, @tableName --指定的 1 级对象类型的名称
, N'COLUMN' --2 级对象的类型
, @columnName --指定的 2 级对象类型的名称
)
)
BEGIN
print 'Edit['+@columnName+']Description'
EXEC sys.sp_updateextendedproperty @name = N'MS_Description' --要添加的属性名称
,@value = @columnInfo --将要与属性相关联的值
,@level0type = N'SCHEMA' --用户或用户定义类型
,@level0name = N'dbo' --指定的 0 级对象类型的名称
,@level1type = N'TABLE' --1 级对象的类型 
,@level1name = @tableName --指定的 1 级对象类型的名称
,@level2type = N'COLUMN' --2 级对象的类型
,@level2name = @columnName --指定的 2 级对象类型的名称
END
ELSE
BEGIN
print 'Add['+@columnName+']Description'
EXEC sys.sp_addextendedproperty @name = N'MS_Description' --要添加的属性名称
,@value = @columnInfo --将要与属性相关联的值
,@level0type = N'SCHEMA' --用户或用户定义类型
,@level0name = N'dbo' --指定的 0 级对象类型的名称
,@level1type = N'TABLE' --1 级对象的类型 
,@level1name = @tableName --指定的 1 级对象类型的名称
,@level2type = N'COLUMN' --2 级对象的类型
,@level2name = @columnName --指定的 2 级对象类型的名称
END
end
GO

解释:

语句:

SELECT * FROM syscolumns WHERE id = object_id(@tableName) AND NAME = @columnName 

作用: 查找表中是否存在指定的列. 如果存在则添加会报错.

ALTER TABLE 语句:

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

如需在表中添加列,请使用下列语法:

ALTERTABLE table_name ADD column_name datatype 

要删除表中的列,请使用下列语法:

ALTERTABLE table_name DROPCOLUMN column_name 

要改变表中列的数据类型,请使用下列语法:

ALTERTABLE table_name ALTERCOLUMN column_name datatype 

属性的增删改:

fn_listextendedproperty: 获取扩展属性, 主要判断下属性是否存在如果存在则更新, 不存在则添加

sp_updateextendedproperty: 更新字段描述

sp_addextendedproperty : 添加字段描述

sp_dropextendedproperty: 删除字段描述

因为sp_dropextendedproperty上文存储过程没有出现特附上示例:

EXECsp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',a1

以上所述是小编给大家介绍的SQL Server表中添加新列并添加描述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对突袭网网站的支持!

  • 本文相关:
  • SQL注入全过程深入分析
  • 获取SqlServer存储过程定义的三种方法
  • sqlserver进程死锁关闭的方法
  • SQL Server触发器和事务用法示例
  • Win10 64位安装个人版SQL2000图文教程
  • SQL Server 存储过程遇到“表 ''#TT'' 没有标识属性无法执行 SET 操作”错误
  • 浅谈数据库优化方案
  • 使用SQL批量替换语句修改、增加、删除字段内容
  • SQLServer批量更新两个关联表数据的方法
  • SQL Server数据表字段自定义自增数据格式的方法
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved