SELECT SysObjects.Name as tb_name, SysColumns.Name ascol_name, SysTypes.Name as col_type, SysColumns.Length as col_len, isnull(SysProperties.Value,SysColumns.Name) as col_memo, casewhen SysColumns.name in (select 主键=a.name FROM syscolumns a innerjoin sysobjects b on a.id=b.id and b.xtype='U'and b.name<>'dtproperties' whereexists(SELECT1FROM 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 ) then1else0endas is_key FROM SysObjects,SysTypes,SysColumns LEFTJOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND Syscolumns.Colid = Sysproperties.Smallid) WHERE (Sysobjects.Xtype ='u'OR Sysobjects.Xtype ='v') AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType AND SysTypes.Name <>'sysname'AND Sysobjects.Name Like'%'ORDERBy SysObjects.Name, SysColumns.colid