SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name, SysTypes.Name as col_type, SysColumns.Length as col_len, isnull(SysProperties.Value,SysColumns.Name) as col_memo,case when SysColumns.name in(select 主键=a.nameFROM syscolumns ainner join sysobjects b on a.id=b.id and b.xtype='U' and b.name<>'dtproperties'where 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)))and b.name=SysObjects.Name)then 1 else 0 end as is_keyFROM SysObjects,SysTypes,SysColumnsLEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id ANDSyscolumns.Colid = Sysproperties.Smallid)WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XTypeAND SysTypes.Name <> 'sysname' AND Sysobjects.Name Like '%' ORDER By SysObjects.Name, SysColumns.colid