Nombre de columna, descripción, comentario, tipo, etc. de la tabla de consultas de SQLServer

        Una declaración para compartir el nombre de la columna, la descripción, los comentarios, el tipo, etc. de una tabla de consulta de sqlserver:

SELECT 表名 = CASE
                WHEN a.colorder = 1 THEN
                    d.name
                ELSE
                    ''
            END,
       表说明 = CASE
                 WHEN a.colorder = 1 THEN
                     ISNULL(f.value, '')
                 ELSE
                     ''
             END,
       字段序号 = a.colorder,
       字段名 = a.name,
       标识 = CASE
                WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN
                    '√'
                ELSE
                    ''
            END,
       主键 = CASE
                WHEN EXISTS
                     (
                         SELECT 1
                         FROM sysobjects
                         WHERE xtype = 'PK'
                               AND parent_obj = a.id
                               AND name IN
                                   (
                                       SELECT name
                                       FROM sysindexes
                                       WHERE indid IN
                                             (
                                                 SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid
                                             )
                                   )
                     ) THEN
                    '√'
                ELSE
                    ''
            END,
       类型 = b.name,
       长度 = COLUMNPROPERTY(a.id, a.name, 'PRECISION'),
       小数位数 = ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0),
       允许空 = CASE
                 WHEN a.isnullable = 1 THEN
                     '√'
                 ELSE
                     ''
             END,
       默认值 = ISNULL(e.text, ''),
       字段说明 = ISNULL(g.[value], '')
FROM syscolumns a
    LEFT JOIN systypes b
        ON a.xusertype = b.xusertype
    INNER JOIN sysobjects d
        ON a.id = d.id
           AND d.xtype = 'U'
           AND d.name <> 'dtproperties'
    LEFT JOIN syscomments e
        ON a.cdefault = e.id
    LEFT JOIN sys.extended_properties g
        ON a.id = g.major_id
           AND a.colid = g.minor_id
    LEFT JOIN sys.extended_properties f
        ON d.id = f.major_id
           AND f.minor_id = 0
WHERE d.name = 'b'						--查询的表名
ORDER BY a.id,
         a.colorder;

        El resultado es el siguiente:

        

 

Supongo que te gusta

Origin blog.csdn.net/sinat_28984567/article/details/129581767
Recomendado
Clasificación