使用SQL生成指定数据库的数据字典(MSSQL)
USE DBNAME --指定要生成数据字典的数据库 GO
SELECT
表名=
CASE WHEN a.colorder= 1 THEN
d.name ELSE ''
END, 表说明=
CASE WHEN a.colorder= 1 THEN
isnull( f.value, '' ) ELSE ''
END, 字段序号= a.colorder, 字段名= a.name, 标识=
CASE WHEN COLUMNPROPERTY( a.id, a.name, 'IsIdentity' ) = 1 THEN
'√' ELSE ''
END, 主键=
CASE WHEN 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 ) )
) THEN
'√' ELSE ''
END,
类型= b.name,
占用字节数= a.length,
长度= COLUMNPROPERTY( a.id, a.name, 'PRECISION' ),
小数位数= isnull( COLUMNPROPERTY( a.id, a.name, 'Scale' ), 0 ),
允许空=CASE WHEN a.isnullable= 1 THEN
'√' ELSE ''
END,
默认值= isnull( e.text, '' ),
字段说明= isnull( g.[value], '' )
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 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='要查询的表' --如果只查询指定表,加上此条件
ORDER BY
a.id,
a.colorder
使用SQL生成指定数据库的数据字典(MSSQL)的更多相关文章
- 生成MySql数据库的数据字典代码参考
Code: /** * 生成mysql数据字典 */ //配置数据库 $dbserver = "127.0.0.1"; $dbusername = "root" ...
- SQL - 生成指定范围内的随机数
今天按照公司需求,需要做一个sql作业来对数据库定时触发,其中有个难点,就是在sql中需要在1-n中随机出来一个结果. google了半天,找到一个比较好的方式. 写下这个sql: DECLARE @ ...
- sql 生成指定相同数量数据
select *from 表名 ,(SELECT NUMBER FROM master..spt_values WHERE number BETWEEN 1 AND 2 AND TYPE='P' ...
- 【转】 SQL - 生成指定范围内的随机数
DECLARE @Result INT DECLARE @Upper INT DECLARE @Lower INT SET @Lower = 1 SET @Upper = 10 SELECT @Res ...
- SqlProfilter监控指定数据库数据表——监控linq组合查询生成的sql
1.例子 实际测试环境中往往很多测试都在调用数据库,那么如何使用SqlProfilter监控筛选到自己想要监看的数据库对应的表有关linq生成的sql时候就需要做如下设置了 ........... u ...
- SQL Server附加数据库时失败,提示:“未重新生成日志,因为有不止一个日志文件”
这个只能是试一下的方法,但不一定能成功,可以尝试如下几个方法: 1.登录远程桌面,然后以.登录SQL Server,并以Windows身份登录,然后再附加数据库时把日志文件删除. 2.试下这个脚本: ...
- Excel生成Oracle数据库表sql工具类
1.解决问题: 开发文档中字段比较多的时候,建表sql(Oracle下划线命名规范)比较麻烦,容易出错~~ (主要是懒) 特意手写一个工具,根据excel字段,生成建表的sql语句. ~~~末尾附Gi ...
- 动态SQL实现批量删除指定数据库的全部进程
动态SQL实现批量删除指定数据库的全部进程 DECLARE @DatabaseName nvarchar(100) SET @DatabaseName = N'Account_006_Kaikei_2 ...
- 一条SQL生成数据字典
有个字典表并定期维护,对DBA和开发很重要,终于把他们整合在一起了,看有没问题? 一条SQL生成数据字典,包含所有OPEN用户.表名.字段名.字段序号.字段属性.默认值.是否非空.字段意思.主键标识. ...
随机推荐
- cropperjs实践及中文文档(自译)
cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器.(关键是使用方法简单,几行代码就可以搞定) 实践效果图 如图,可以对指 ...
- oracle查询练习
1成绩表score如下,查询出每门课都大于80分的学生姓名 准备数据 -建表- SQL> create table score( 2 name varchar(50), 3 kech ...
- ant 自动化构建环境。
ant 一个自动化构建的工具 可以帮你实现自动化打包和发布到web环境上. 项目目录如下: 项目一:common-framework 项目二:estun-platform-web 其中项目一是项目二 ...
- 一句话总结flux,以及我们为何需要flux
如果让你用一句话总结一下什么是flux,该怎么说? 官网上有这样的介绍:flux是一种思想,一种框架,是facebook给react... 这样的解释对程序员来说,显得过于抽象又不具体了. 阮老师的文 ...
- nginx部署安装
首先需要下载Nginx软件包 nginx软件官方下载地址:[nginx官方下载连接](http://www.nginx.org) 建议选择稳定的软件版本,如果练习使用当然是无所谓,随便什么版本都可以, ...
- Tensorflow Serving Docker compose 部署服务细节(Ubuntu)
[摘要] Tensorflow Serving 是tf模型持久化的重要工具,本篇介绍如何通过Docker compose搭建并调试TensorFlow Serving TensorFlow Servi ...
- solr集群与项目实战
什么是 SolrCloud : SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时 ...
- 过滤器和监听器实现用户的在线登录人数,以及设置session时长。
过滤器: package com.bjsxt.filter; import java.io.IOException; import javax.servlet.Filter; import javax ...
- 转化欧拉回路(难题)-UESTC-1957励志的猴子
励志的猴子 Time Limit: 1000 MS Memory Limit: 256 MB Submit Status 上图是2013南京亚青会吉祥物圆圆.自从它诞生以来,它就被吐槽为最丑吉 ...
- ARTS-S redis3.2.10通过ip访问
只用把配制文件里的bind 127.0.0.1改成0.0.0.0,然后重启即可.不用再有别的配制.