SELECT
(CASE WHEN A.COLORDER = 1 THEN D.NAME ELSE '' END) Type,
A.ColORDER field serial number,
A.Name field name,
(Case When ColumnProperty (A.ID, A.Name, 'isidentity') = 1 Then '√'lse' 'end) ID
(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)))))))))))
(Xtype = 'pk'))> 0 THEN '√' Else '' end) Primary key,
B.Name type,
A.Length occupies bytes,
ColumnProperty (A.ID, A.Name, 'Precision') AS length,
ISNULL (A.ID, A.NAME, 'Scale'), 0) AS count number,
(Case When A.isnullable = 1 Then '√'ELSE' 'End) Allow empty,
ISNULL (E.TEXT, '') default value,
ISNULL (g. [value], '') AS field description
From syscolumns a left join systemypes b
ON A.XTYPE = 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 Sysproperties G
ON A.ID = g.id and a.colid = g.smallid
Order by a.id, a.colorder