查看库中表的主键,标识列,计算列,字段类型,允许空,默认值等属性

查看库中表的主键,标识列,计算列,字段类型,允许空,默认值等属性

复制代码
            SELECT
            [表名]=CASE WHEN T.column_id = 1 THEN OBJECT_NAME(T.object_id) ELSE '' END ,
            [字段编号]=T.column_id,
            [字段名]=T.name,
            [主键]=case when exists(SELECT 1 FROM sys.key_constraints  where type='PK' and object_id=T.OBJECT_ID) THEN '' ELSE '' END,
            [标识列]=CASE T.is_identity  WHEN 1 THEN '' ELSE '' END,
            [计算列]=CASE T.is_computed WHEN 1 THEN '' ELSE '' END,
            [字段类型]=(SELECT name FROM sys.types WHERE user_type_id = T.user_type_id),
            [字段长度]= T.PRECISION,
            [小数位] = T.Scale,
            [允许空] = CASE T.is_nullable  WHEN 1 THEN '' ELSE '' END,
            [默认值]= ISNULL((SELECT definition from sys.default_constraints where object_id = T.default_object_id),''),
            [字段说明]=(SELECT VALUE FROM sys.extended_properties WHERE major_id = T.OBJECT_ID AND minor_id  =T.column_id)
            FROM sys.COLUMNS T
            INNER JOIN sys.objects O ON T.object_id = O.object_id AND O.type = 'U'
            WHERE RIGHT(OBJECT_NAME(T.object_id),3) <> 'Log' AND OBJECT_NAME(T.object_id) <>'AuditDDLEvents' AND OBJECT_NAME(T.object_id) <>'dtproperties'
            ORDER BY OBJECT_NAME(T.object_id),T.column_id
复制代码

 

posted @   davidhou  阅读(819)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示