zoukankan      html  css  js  c++  java
  • SQL属性说明添加

    --1.为表添加描述信息
    EXECUTE sp_addextendedproperty N'MS_Description', '表描述', N'user', N'dbo', N'table', N'表名', NULL, NULL
    --2.删除表说明
    EXEC sp_dropextendedproperty N'MS_Description','user','dbo','table', '表名', NULL,NULL
    --1.为字段name添加描述信息 姓名
    EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', N'表名', N'column', N'name'
    EXECUTE sp_addextendedproperty   N'MS_Description','字段说明内容',N'user',N'dbo',N'table',N'表名',N'column',N'字段名'
    --2.更新表中列a1的描述属性:
    EXEC sp_updateextendedproperty 'MS_Description','字段1','user',dbo,'table','表','column',name
    EXEC sp_updateextendedproperty 'MS_Description','字段说明','user',dbo,'table','Test','column',cn1 
    --3.删除表中列a1的描述属性:
    EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',name
    EXEC sp_dropextendedproperty N'MS_Description', 'user','dbo', 'table', '表名', 'column','字段名'
    EXEC sp_dropextendedproperty N'MS_Description', 'user','dbo', 'table', 'Test', 'column','cn2'
    
    
    exec [SetColumnInfo] 'Test', 'cn3', N'有钱吗22','varchar(300)',''
    
    go
    /********调用方法**********
    name: kele 181102
    作用: 添加列并添加列描述信息,修改说明
    调用: 
    exec [SetColumnInfo] '表名', '列名', N'列说明,描述','列类型{默认:NVARCHAR(50)}','列默认值{默认:NULL}'
    ******************/
    alter PROCEDURE [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
    IF NOT EXISTS (
    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
    else
    begin   --修个表结构
    print 'exec:'+('ALTER TABLE ' + @tableName + ' ALTER column ' + @columnName + '' + @columnType + '' + @columnDefault)
    EXEC ('ALTER TABLE ' + @tableName + ' ALTER column ' + @columnName + ' ' + @columnType + ' ' + @columnDefault) 
    end
    
    IF EXISTS (
    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 
    TableName = OBJECT_NAME(c.object_id), 
    ColumnsName = c.name, 
    Description = ex.value, 
    ColumnType=t.name, 
    Length=c.max_length 
    FROM 
    sys.columns c 
    LEFT OUTER JOIN 
    sys.extended_properties ex 
    ON 
    ex.major_id = c.object_id 
    AND ex.minor_id = c.column_id 
    AND ex.name = 'MS_Description' 
    left outer join 
    systypes t 
    on c.system_type_id=t.xtype 
    WHERE 
    OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0 
    AND OBJECT_NAME(c.object_id) ='表名'
    
    
    
    ---查看所有表说明
    select top 1000
    ROW_NUMBER() OVER (ORDER BY a.name) AS No, 
    a.name AS 表名,
    CONVERT(NVARCHAR(100),isnull(g.[value],'-')) AS 说明
    from
    sys.tables a left join sys.extended_properties g
    on (a.object_id = g.major_id AND g.minor_id = 0)
    

      

    你的一分支持,是我坚持创作的十分动力。 如果文章的内容对你有帮助的话,请用微信扫描下方二维码,支持一下。谢谢! wechat1
  • 相关阅读:
    Web开发中需要了解的东西
    Javascript:谈谈JS的全局变量跟局部变量
    多角度看.NET面试题
    java http大文件断点续传上传方法
    java http大文件断点续传上传问题
    java http大文件断点续传上传功能
    java http大文件断点续传上传解决方案
    java http大文件断点续传上传实例
    java http大文件断点续传上传示例
    java http大文件断点续传上传源代码
  • 原文地址:https://www.cnblogs.com/shuilong/p/12217840.html
Copyright © 2011-2022 走看看