SELECTTable name= Case whenA.colorder=1 ThenD.nameElse "' End, table describes= Case whenA.colorder=1 Then IsNull(F.value,"')Else "' End, Field ordinal=a.colorder, field name=a.name, Logo= Case when ColumnProperty(A.id,a.name,'isidentity')=1 Then '√'Else "' End, PRIMARY key= Case when exists(SELECT 1 fromsysobjectswhereXtype='PK' andNameinch ( SELECTName fromsysindexesWHEREIndidinch( SELECTIndid fromSysindexkeysWHEREId=a.ID andColid=a.colid ))) Then '√' Else "' End, type=b.name, number of bytes occupied=a.length, Length=ColumnProperty(A.id,a.name,'PRECISION'), number of decimal digits=IsNull(ColumnProperty(A.id,a.name,' Scale'),0), allow null= Case whenA.isnullable=1 Then '√'Else "' End, the default value=IsNull(E.text,"'), field description=IsNull(g.[value],"') fromsyscolumns a Left JoinSystypes b onA.xtype=B.xusertypeInner Joinsysobjects D ona.ID=D.id andD.xtype='U' andD.name<>'dtproperties' Left Joinsyscomments E onA.cdefault=e.id Left JoinSys.extended_properties g ona.ID=g.major_id andA.colid=g.minor_id Left JoinSys.extended_properties F onD.id=f.major_id andf.minor_id=0 --where d.name= ' table to query '--if you only query the specified table, add this condition Order byA.id,a.colorder
SQL Server Data Table dictionary generation statement (run directly)