码迷,mamicode.com
首页 > 数据库 > 详细

SQL SERVER 获取表字段信息

时间:2016-05-16 00:05:14      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:

 

CREATE PROCEDURE [Common].[ProcLoadColumnInfo]

    @inObjectName sysname

AS

    BEGIN

        SELECT  TableCatalog = DB_NAME() ,

                TableSchema = SCHEMA_NAME(C.schema_id) ,

                TableName = D.name ,

                ColumnName = A.name ,

                ColumnPosition = A.colorder ,

                DataType = B.name ,

                MaximumLength = A.length ,

                MaxLength = COLUMNPROPERTY(A.id, A.name, ‘PRECISION‘) ,

                NumericScale = ISNULL(COLUMNPROPERTY(A.id, A.name, ‘SCALE‘), 0) ,

                IsIdentity = CASE WHEN COLUMNPROPERTY(A.id, A.name,

                                                      ‘ISIDENTITY‘) = 1 THEN 1

                                  ELSE 0

                             END ,

                IsPrimary = CASE WHEN EXISTS ( SELECT   1

                                       FROM     sys.indexes idx ,

                                                sys.index_columns idxCol

                                       WHERE    idx.object_id = A.id

                                                AND idx.is_primary_key = 1

                                                AND idxCol.column_id = A.colid

                                                AND idx.index_id = idxCol.index_id

                                                AND idx.object_id = idxCol.object_id )

                                 THEN 1

                                 ELSE 0

                            END ,

                IsNullable = A.isnullable ,

                ColumnDefault = ISNULL(E.text, ‘‘) ,

                ColumnDescription = ISNULL(G.[value], ‘‘)

        FROM    syscolumns A

                LEFT JOIN systypes B ON A.xtype = B.xusertype

                INNER JOIN sys.objects C ON A.id = C.object_id

                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

                                                       AND G.name = ‘MS_DESCRIPTION‘

        WHERE   A.id = OBJECT_ID(@inObjectName)

        ORDER BY A.id ,

                A.colorder;

    END;

 

GO

SQL SERVER 获取表字段信息

标签:

原文地址:http://www.cnblogs.com/pgboy/p/5496540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!