您的位置:首页 > 数据库

得到数据库所有表名和字段

2007-07-11 14:58 295 查看

Select


(case when a.colorder=1 then d.name else '' end) N'表名',


a.colorder N'字段序号',


a.name N'字段名',


(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',


(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))))))) AND


(xtype = 'PK'))>0 then '√' else '' end) N'主键',


b.name N'类型',


a.length N'占用字节数',


COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',


isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',


(case when a.isnullable=1 then '√'else '' end) N'允许空',


isnull(e.text,'') N'默认值',


isnull(g.[value],'') AS N'字段说明'


--into ##tx




FROM syscolumns a left join systypes 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 object_name(a.id),a.colorder




---什么都不用管,把代码放在[查询分析器]执行一下,就全懂了.呵呵. 好用,就是没得商量




select so.name,sc.name,sp.value from sysproperties sp


inner join syscolumns sc


on sp.id = sc.id and sp.smallid = sc.colid


left join sysobjects so


on so.id = sc.id







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: