Luouy~羽林
学问如逆水行舟,不进则退; 有知识的人不实践,等于一只蜜蜂不酿蜜; 我们可以由读书而收集知识,但必须利用思考把糠和谷子分开
平时看数据文档,后来想直接写些记录标记在数据库里面,每次用起来就F5一下方便多了,不用在看数据文档,所以就找了一下这样的SQL,我kao,还真有!

找了一下,不能用,改了一下,合适自己用 

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, 
占用字节数   =   A.LENGTH, 
长度               =   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 a.name='DeliverId'
ORDER   BY   
A.ID,A.COLORDER  
posted on 2010-09-17 19:25  羽林.Luouy  阅读(1976)  评论(0编辑  收藏  举报