热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 数据库>>正文内容

查询所有表的结构信息

发布时间:2008年12月20日点击数: 未知
详细代码如下:
SELECT TableName=o.name,OWNER=USER_NAME(o.uid),TableDescription=ISNULL(ptb.value,N''),  
FieldId=c.colid,FieldName=c.name,  
FieldType=QUOTENAME(t.name)  
+CASE  
WHEN t.name IN (N'decimal',N'numeric')  
THEN N'('+CAST(c.prec as varchar)+N','+CAST(c.scale as varchar)+N')'  
WHEN t.name=N'float'  
OR t.name like N'%char'  
OR t.name like N'%binary'  
THEN N'('+CAST(c.prec as varchar)+N')'  
ELSE N'' END  
+CASE WHEN c.isnullable=1 THEN N'' ELSE N' NOT' END+N' NULL',  
FieldDescription=ISNULL(pfd.value,''),  
DefileLength=c.length,  
FieldDefault=ISNULL(df.text,N''),  
IsIDENTITY=COLUMNPROPERTY(o.id,c.name,N'IsIdentity'),  
IsComputed=COLUMNPROPERTY(o.id,c.name,N'IsComputed'),  
IsROWGUID=COLUMNPROPERTY(o.id,c.name,N'IsRowGuidCol'),  
IsPrimaryKey=CASE WHEN opk.xtype IS NULL THEN 0 ELSE 1 END  
FROM sysobjects o  
JOIN syscolumns c  
ON c.id=o.id  
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1  
JOIN systypes t  
ON t.xusertype=c.xusertype  
LEFT JOIN syscomments df  
ON df.id=c.cdefault  
LEFT JOIN sysproperties ptb  
ON ptb.id=o.id and ptb.smallid=0  
LEFT JOIN sysproperties pfd  
ON pfd.id=o.id and pfd.smallid=c.colid  
LEFT JOIN sysindexkeys idxk  
ON idxk.id=o.id  
AND idxk.colid=c.colid  
LEFT JOIN sysindexes idx  
ON idx.indid=idxk.indid  
AND idx.id=idxk.id  
AND idx.indid NOT IN(0,255)  
LEFT JOIN sysobjects opk  
ON opk.parent_obj=o.id  
AND opk.name=idx.name  
AND OBJECTPROPERTY(opk.id,N'IsPrimaryKey')=1  
ORDER BY o.name,c.colid

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作