SqlServer2008中便捷查看表字段备注类型默认值的方法
来源:互联网 发布:绿豆网络团队 编辑:程序博客网 时间:2024/05/18 01:01
可快速查看使用sys.sp_addextendedproperty创建的字段备注,及字段类型、默认值、是否可空等信息
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注具体信息' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名', @level2type=N'COLUMN',@level2name=N'列名'
创建如下存储过程:
-- =============================================-- Author:<Author,shujudeliu,Name>-- Create date: <Create Date,2017-07-18 17:40:00,>-- Description:<Description,查询表描述及字段备注信息,>-- =============================================CREATE PROCEDURE [dbo].[proc_desc](@table_name varchar(100)-- 表名)ASBEGINSET NOCOUNT ON;select 类别,表名or字段名,描述,字段类型,是否自增,是否可空,默认值 from (SELECT '表名' 类别,-1 column_id,tbs.name 表名or字段名,ds.value 描述,'' 字段类型,'' 是否自增,'' 是否可空,'' 默认值,1 rnFROM sys.extended_properties ds LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id WHERE ds.minor_id=0 and tbs.name=@table_nameunionSELECT '------' 类别,-1 column_id,'------------------------------------' 表名or字段名,'----------------------------------------------------------' 描述,'-----------------' 字段类型,'-----------' 是否自增,'-----------' 是否可空,'-------------' 默认值,2 rnunionSELECT'列名' 类别,c.column_id,C.name 表名or字段名,s.value 描述,字段类型 = T.name + CASE T.user_type_id WHEN 41 THEN '('+CAST(C.scale AS VARCHAR) +')' -- timeWHEN 42 THEN '('+CAST(C.scale AS VARCHAR) +')' -- datetime2WHEN 43 THEN '('+CAST(C.scale AS VARCHAR) +')' -- datetimeoffsetWHEN 106 THEN '('+CAST(C.precision AS VARCHAR)+','+ CAST(C.scale AS VARCHAR) +')' -- decimalWHEN 108 THEN '('+CAST(C.precision AS VARCHAR)+','+ CAST(C.scale AS VARCHAR) +')' -- numericWHEN 165 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')' -- varbinaryWHEN 167 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')' -- varcharWHEN 173 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')' -- binaryWHEN 175 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')' -- charWHEN 231 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1)/2 AS VARCHAR),'MAX') +')' -- nvarchar(该字段校检根据实际情况)WHEN 239 THEN '('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')' -- ncharELSE ''END,cast(C.is_identity as varchar(10)) 是否自增,cast(C.is_nullable as varchar(10)) 是否可空,默认值 = ISNULL(STUFF(LEFT(D.definition,LEN(D.definition)-1),1,1,''),'') ,3 rnFROM sys.columns CINNER JOIN sys.types T ON C.user_type_id = T.user_type_id LEFT JOIN sys.default_constraints D ON D.[object_id] =C.default_object_id AND D.parent_object_id = C.[object_id] AND D.parent_column_id = C.column_id left join (select major_id,minor_id,value from sys.extended_properties) s on s.major_id = c.object_id and s.minor_id = c.column_idWHERE C.[object_id] = OBJECT_ID(@table_name)) s order by column_id,rnEND使用方法:
exec proc_desc 表名
示例:
阅读全文
0 0
- SqlServer2008中便捷查看表字段备注类型默认值的方法
- sqlserver2008无法修改表字段类型的解决方案之一
- Oracle中查看表字段和注释的方法
- 修改表字段的默认值
- Mssql查看、修改表字段默认值
- SQL2005读取所有表字段的备注
- sqlserver2008数据库操作记录-修改表字段类型或长度
- hive 查看某表字段类型
- 查找表字段的类型
- PowerDesigner创建表字段备注
- SAS中关联表字段类型不同时的解决办法
- 使用SQL查询表字段列的备注信息
- MySQL表字段设置默认值
- mysql查询表字段默认值
- 数据库表字段中类型变更
- ORACLE 中查询表字段信息的方法
- ORACLE 中查询表字段信息的方法
- ORACLE 中查询表字段信息的方法
- 面向对象中的继承
- 中位数
- Shell系列—Shell test 命令
- linux解决中文安装后出现乱码的问题
- Hi3531A 海思 开发板 核心板 千兆网口1080P H.264 HDMI VGA SPI
- SqlServer2008中便捷查看表字段备注类型默认值的方法
- [LeetCode] LRU Cache
- MySQL 学习过程遇到的问题
- 多线程原子性、可见性、可排序
- 惊艳全球数据行业的16个数据可视化例子
- Liunx进行曲--系统篇
- 数据库Sharding的基本思想和切分策略(1)
- 第3节-Linux计算机启动过程
- Retrofit2+OkHttp3+RxJave 三剑客解决网络问题