SQL Server 2008 显示表结构的存储过程

来源:互联网 发布:淘宝最赚钱的行业 编辑:程序博客网 时间:2024/05/22 10:27
 
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO--查询数据字典CREATE proc [dbo].[help]@tableName varchar(50)as SELECT       (case when a.colorder=1 then d.name else '' end)表名,       --a.colorder 字段序号,       a.name 字段名,       isnull(g.[value],'') AS 字段说明,       b.name 类型,       COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,       isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,       (case when (SELECT count(*)       FROM sysobjects       WHERE (name in                 (SELECT name                FROM sysindexes                WHERE (id = a.id) AND (indid in                          (SELECT indid                         FROM sysindexkeys                         WHERE (id = a.id) AND (colid in                                   (SELECT colid                                  FROM syscolumns                                  WHERE (id = a.id) AND (name = a.name))))))) AND              (xtype = 'PK'))>0 then '是' else '' end) 是否主键,       (case when a.isnullable=1 then ''else '是' end) 是否必填,       isnull(e.text,'') 默认值FROM  syscolumns  a left join systypes bon  a.xtype=b.xusertypeinner join sysobjects don a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'left join syscomments eon a.cdefault=e.idleft join sys.extended_properties gon a.id=g.major_id AND a.colid = g.minor_idwhere d.name=@tableNameorder by d.name,a.colorderGO


以上是具体的存储过程实现过程。

在SQL server Management Studio 查询命令 中使用方法如下即可显示表的组织结构:  

help myTableName;


-----------------------------------------------

Over!