• 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
  • 相关阅读:
    局部地区类似淘宝设想
    eclipse中安装GWT插件
    MYSQL数据库设计和数据库设计实例(三)
    MYSQL数据库设计和数据库设计实例(二)
    微软万维天文望远镜(Microsoft World Wide Telescope)
    html学习列表
    java中多线程学习一二点
    win7 64位下完美安装64位oracle 11g
    eclipse运行时不能自动保存的解决方法
    MYSQL数据库设计和数据库设计实例(一)
  • 原文地址:https://www.cnblogs.com/davidchild/p/14616996.html
Copyright © 2020-2023  润新知