zoukankan      html  css  js  c++  java
  • SQL批量添加数据库中所有用户数据表描述

    --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


     

  • 相关阅读:
    自动封箱和拆箱
    关于Java的一道内存的题目
    volatile关键字
    阶乘尾零
    Java之final的解析
    从1到n整数中1出现的次数
    最小安装雷达数量
    二叉树重建
    最短路径—Dijkstra算法
    PAT A1063——set的常见用法详解
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306732.html
Copyright © 2011-2022 走看看