select 主键=a.name
FROM syscolumns a
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='表名'
SELECT 表名 =casewhen a.colorder=1then d.name else''end, 表说明 =casewhen a.colorder=1thenisnull(f.value,'') else''end, 字段名 = a.name, 主键 =casewhenexists(SELECT1FROM sysobjects where xtype='PK'and parent_obj=a.id 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, 类型 = b.name, 占用字节数 = a.length, 长度 =COLUMNPROPERTY(a.id,a.name,'PRECISION'), 默认值 =isnull(e.text,''), 字段说明 =isnull(g.[value],'') FROM syscolumns a leftjoin systypes b on a.xusertype=b.xusertype innerjoin sysobjects d on a.id=d.id and d.xtype='U'and d.name<>'dtproperties' leftjoin syscomments e on a.cdefault=e.id leftjoin sysproperties g on a.id=g.id and a.colid=g.smallid leftjoin sysproperties f on d.id=f.id and f.smallid=0 where d.name='LW_Equipment_Stock_List'--如果只查询指定表,加上此条件
获取表内所有字段
Select Name From SysColumns Where ID=OBJECT_ID('table1') OrderBy ColID