MysqL数据库查询表结构很方便,用客户端(sqlyog)可以直接复制出需要的表结构,据说可以用简单的命令查询表结构 desc 表结构
sqlserver导出表结构就很坑爹了,首先呢客户端不支持,表设计页面虽说可以复制表结构但是不包含字段注释,想想这种场景应该很常见不可能没有解决方案的,于是在网上发现了一段脚本,稍加调整就可以查询出需要的表结构
脚本及查询示例
SELECT 表名 = CASE WHEN a.colorder = 1 THEN d.name ELSE ‘‘ END,字段说明 = ISNulL(g.[value],‘‘),字段名 = a.name,类型 = CASE WHEN b.name IN ( ‘varchar‘,‘nvarchar‘ ) THEN b.name + ‘(‘ + CAST(ColUMNPROPERTY(a.ID,a.name,‘PRECISION‘) AS VARCHAR(4)) + ‘)‘ WHEN b.name = ‘decimal‘ THEN b.name + ‘(‘ + CAST(ColUMNPROPERTY(a.ID,‘PRECISION‘) AS VARCHAR(4)) + ‘,‘ + CAST(ColUMNPROPERTY(a.ID,‘Scale‘) AS VARCHAR(4)) + ‘)‘ ELSE b.name ENDFROM syscolumns a -- 列名 left JOIN systypes b ON a.xusertype = 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 sys.extended_propertIEs g ON a.ID = g.major_ID AND a.colID = g.minor_ID --扩展属性(字段说明) --left JOIN sys.extended_propertIEs f ON d.ID = f.major_ID AND f.minor_ID = 0 --扩展属性(表说明)WHERE d.name = ‘SCM_Module‘ --可修改表名ORDER BY a.ID,a.colorder总结
以上是内存溢出为你收集整理的SqlServer表结构查询全部内容,希望文章能够帮你解决SqlServer表结构查询所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)