zoukankan      html  css  js  c++  java
  • MSSQL 经典语句查看表字典结构语句

    --废话不多说,直接上干,先按照下面的语句创建一个 名为:prc_TableField 的存储过程

    /****** Object:  StoredProcedure [dbo].[prc_TableFieldDesc]    Script Date: 02/26/2021 15:55:49 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    --快速查看表结构     
     create proc [dbo].[prc_TableField]    
     @enTableName nvarchar(500),    
     @cnFieldName nvarchar(500),
     @enFieldName nvarchar(500)
    as    
     begin     
     SELECT  CASE WHEN col.colorder = 1 THEN obj.name      
           ELSE  obj.name       
         END AS 表名,      
       col.colorder AS 序号 ,      
       col.name AS 列名 ,      
       ISNULL(ep.[value], '') AS 列说明 ,      
       t.name AS 数据类型 ,      
       col.length AS 长度 ,      
       ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,      
       CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN ''      
         ELSE ''      
       END AS 标识 ,      
       CASE WHEN EXISTS ( SELECT   1      
              FROM     dbo.sysindexes si      
              INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id      
                      AND si.indid = sik.indid      
              INNER JOIN dbo.syscolumns sc ON sc.id = sik.id      
                      AND sc.colid = sik.colid      
              INNER JOIN dbo.sysobjects so ON so.name = si.name      
                      AND so.xtype = 'PK'      
              WHERE    sc.id = col.id      
              AND sc.colid = col.colid ) THEN ''      
         ELSE ''      
       END AS 主键 ,      
       CASE WHEN col.isnullable = 1 THEN ''      
         ELSE ''      
       END AS 允许空 ,      
       ISNULL(comm.text, '') AS 默认值      
     FROM    dbo.syscolumns col      
       LEFT  JOIN dbo.systypes t ON col.xtype = t.xusertype      
       inner JOIN dbo.sysobjects obj ON col.id = obj.id      
                AND obj.xtype = 'U'      
                AND obj.status >= 0      
       LEFT  JOIN dbo.syscomments comm ON col.cdefault = comm.id      
       LEFT  JOIN sys.extended_properties ep ON col.id = ep.major_id      
                    AND col.colid = ep.minor_id      
                    AND ep.name = 'MS_Description'      
       LEFT  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id      
                    AND epTwo.minor_id = 0      
                    AND epTwo.name = 'MS_Description'      
     WHERE   obj.name like '%'+@enTableName+'%'  and convert(nvarchar(500),ISNULL(ep.[value], '') )like '%'+@cnFieldName+'%'   
     and convert(nvarchar(500),ISNULL( col.name , '') )like '%'+@enFieldName+'%'    
     ORDER BY obj.name,col.colorder ;      
    End

    --然后 直行如上查询的

    DECLARE    @return_value int
    
    EXEC    @return_value = [dbo].[prc_TableField]
            @enTableName = N'sys_base_user',--表名
            @cnFieldName = '',
            @enFieldName = ''
    
    SELECT    'Return Value' = @return_value
  • 相关阅读:
    2021上半年下午第二题
    21年软件设计师上半年下午试题一
    软考下午第三题-用例图和类图
    类图
    用例图-包含、扩展、泛化
    软考下午题二------数据库设计
    软件设计师下午题-数据流图
    IP练习题
    2020软件工程作业02
    2020软件工程作业01
  • 原文地址:https://www.cnblogs.com/davidchild/p/14616996.html
Copyright © 2011-2022 走看看