use Roy --數據庫 go --2005實現數據庫表字段屬性統計(2000里的系統表sysproperties描述表不存在,2005里用sys.extended_properties視圖替代) select [表名]=c.Name, [表说明]=isnull(f.[value],''), [列名]=a.Name, [列序號]=a.Column_id, [標識]=casewhen is_identity=1then'√'else''end, [主鍵]=casewhenexists(select1from sys.objects x join sys.indexes y on x.Type=N'PK'and x.Name=y.Name join sysindexkeys z on z.ID=a.Object_id and x.parent_object_id = z.id and z.indid=y.index_id and z.Colid=a.Column_id) then'√'else''end, [類型]=b.Name, [字節數]=casewhen a.[max_length]=-1and b.Name!='xml'then'max/2G' when b.Name='xml'then'2^31-1字節/2G' elsertrim(a.[max_length]) end, [長度]=casewhenColumnProperty(a.object_id,a.Name,'Precision')=-1then'2^31-1' elsertrim(ColumnProperty(a.object_id,a.Name,'Precision')) end, [小數]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0), [是否為空]=casewhen a.is_nullable=1then'√'else''end, [列说明]=isnull(e.[value],''), [默認值]=isnull(d.text,'') from sys.columns a leftjoin sys.types b on a.user_type_id=b.user_type_id innerjoin sys.objects c on a.object_id=c.object_idand c.Type='U' leftjoin syscomments d on a.default_object_id=d.ID leftjoin sys.extended_properties e on e.major_id=c.object_idand e.minor_id=a.Column_id and e.class=1 leftjoin sys.extended_properties f on f.major_id=c.object_idand f.minor_id=0and f.class=1