SQL批量添加数据库中所有用户数据表描述

摘要:
--SQL批量添加数据库中所有用户数据表描述--操作说明:请先准备一数据表为名称为tblist,表名字段tbnamenvarchar,数据表描述字段chnnamenvarchar,将所有已存在的数据表和对应描述添加到数据表tblist中--脚本编写步骤:1、游标读取所有数据表名;2、读取指定数据表描述;3、判断指定数据表描述是否存在,存在则更新,否则就直接添加。

--SQL批量添加数据库中所有用户数据表描述

--操作说明:请先准备一数据表为名称为tblist,表名字段tbname nvarchar(255),数据表描述字段chnname nvarchar(255),将所有已存在的数据表和对应描述添加到数据表tblist中

--脚本编写步骤:1、游标读取所有数据表名;2、读取指定数据表描述;3、判断指定数据表描述是否存在,存在则更新,否则就直接添加。

--查询数据表描述脚本:select * from sys.extended_properties where name='MS_Description' and minor_id=0

declare @TableName nvarchar(250) --定义当前操作的数据表名

declare @TableDescription nvarchar(250) --定义当前读取到的数据表描述变量

--声明读取数据库所有数据表名称游标mycursor
declare mycursor cursor for select name from dbo.SysObjects WHERE OBJECTPROPERTY(ID, 'IsUserTable') = 1
--打开游标
open mycursor
--从游标里取出数据赋值到我们刚才声明的数据表名变量中
fetch next from mycursor into @TableName
--如果游标执行成功
while (@@fetch_status=0)
begin
--获取指定数据表描述
IF EXISTS (select * from tblist WHERE tbname=''+@TableName+'')
begin
--如果指定数据表描述已存在则赋值读取到的描述给变量
select @TableDescription=chnname from tblist WHERE tbname=''+@TableName+''
end
else
begin
--如果指定数据表描述已存在则赋值数据表名给变量
set @TableDescription=@TableName
end
--添加或更新数据表描述
IF EXISTS (select * from sys.extended_properties WHERE name='MS_Description' and major_id=OBJECT_ID(''+@TableName+'') and minor_id=0)
begin
--如果指定数据表描述已存在则直接更新
EXEC sp_updateextendedproperty 'MS_Description',@TableDescription,'user',dbo,'table',@TableName
end
else
begin
--如果指定数据表描述不存在则直接添加
EXECUTE sp_addextendedproperty 'MS_Description',@TableDescription,'user','dbo','table',@TableName
end
print '数据表['+@TableName+']描述['+@TableDescription+']添加成功'
--用游标去取下一条记录
fetch next from mycursor into @TableName
end

--关闭游标
close mycursor
--撤销游标
deallocate mycursor

免责声明:文章转载自《SQL批量添加数据库中所有用户数据表描述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAVA并发理解之重排序问题WebMagic 抓取图片并保存至本地下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mysql进制之间的转换

1.十进制转换成二进制 select bin(5); 2.十进制转换成八进制 select oct(5); 3.十进制转换成十六进制 select hex(5); 4.二进制转换成十进制 select conv('101',2,10); 5.十进制转换成十六进制 select conv('20',10,16);...

EF大数据批量处理----BulkInsert

之前做项目的时候,做出来的系统的性能不太好,在框架中使用了EntityFramework,于是就在网上查资料,研究如何提高EF的性能。在这分享一篇博客批量操作提升EntityFramework的性能里面提供了一个扩展库Entity Framework扩展库,在这里面找到了一些比较好的方法。下面主要介绍其中的一个方法—-批量添加BulkInsert。 这些扩...

expdp/impdp数据泵方式备份还原数据库

1、用sysdba账号登入数据库,然后查询到要更改的用户信息:   SELECT user#,name FROM user$ where user#=110; 2、更改用户名并提交: UPDATE USER$ SET NAME='C##DALIAN' WHERE user#=110; COMMIT; 3、强制刷新: AL...

《数据库系统概论》之数据库系统结构和组成(内模式、模式、外模式、人员……)

文章转自:https://blog.csdn.net/weixin_43914604/article/details/105097464 学习课程:【公开课】数据库系统概论(王珊老师) 学习目的:利用最省时间的方法学习考研面试中的数据库知识。 1、思维导图 2、数据库系统结构 (1)两种角度 从数据库管理系统角度看,数据库系统通常采用三级模式结构,是...

Joomla安装图文教程 (送 Joomla 中文语言包)

1、首先 下载 Joomla  源程序   首页: http://www.joomla.org/download.html     下载: download 2、为论坛 创建数据库。进入cPanel面板,选择mysqldatabase选项,新建数据库(数据库名: joomla ), 新建数据库用户(用户名: joo 123、密码:123456),在下面将...

[IOS微信] 查看微信原始数据(含沙盒中的数据)

1、下载PP助手,将苹果手机连接到电脑上, 2、备份数据   备份还原——备份数据——全新备份 3、导出数据   备份还原——还原数据,在右边的列表中找到备份记录,点击“查看”,   在弹出窗口的右侧,找到“AppDomain-com.tencent.xin”,选中,点击“导出”。 导出的数据中,包含有微信缓存的所有数据。如下图,在“Documents”文...