SELECT CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, 
      a.colorder 
AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY(a.id, 
      a.name, 
'IsIdentity'= 1 THEN '' ELSE '' END AS 标识, 
      
CASE WHEN EXISTS
          (
SELECT 1
         
FROM sysobjects
         
WHERE xtype = 'PK' 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 AS 主键, b.name AS 类型, a.length AS 占用字节数, 
      
COLUMNPROPERTY(a.id, a.name, 'PRECISION'AS 长度, 
      
ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0AS 小数位数, 
      
CASE WHEN a.isnullable = 1 THEN '' ELSE '' END AS 允许空, ISNULL(e.text''
      
AS 默认值, ISNULL(g.[value]''AS 字段说明
FROM syscolumns a LEFT OUTER JOIN
      systypes b 
ON a.xtype = b.xusertype INNER JOIN
      sysobjects d 
ON a.id = d.id AND d.xtype = 'U' AND 
      d.name 
<> 'dtproperties' LEFT OUTER JOIN
      syscomments e 
ON a.cdefault = e.id LEFT OUTER JOIN
      sysproperties g 
ON a.id = g.id AND a.colid = g.smallid
ORDER BY a.id, a.colorder
posted on 2007-04-16 16:33  Caviare  阅读(202)  评论(0编辑  收藏  举报