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 dbo.sysindexes si
INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid
INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid
INNER JOIN dbo.sysobjects so ON so.name = so.name AND so.xtype = 'PK'
WHERE sc.id = a.id AND sc.colid = a.colid) THEN '√'
ELSE ''
END ,
外键=CASE WHEN tony.fkey is not null and tony.fkey=a.colid THEN '√' ELSE '' END ,
外键表=CASE WHEN tony.fkey is not null and tony.fkey=a.colid
THEN object_name(tony.fkeyid) ELSE ''
END ,
外键字段=CASE WHEN tony.fkey is not null and tony.fkey=a.colid
THEN (SELECT name FROM syscolumns
WHERE colid=tony.fkey AND id=tony.fkeyid)
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], ''),
创建时间=d.crdate,
更改时间=CASE WHEN a.colorder = 1 THEN d.refdate ELSE NULL END
FROM dbo.syscolumns a
LEFT JOIN dbo.systypes b ON a.xtype = b.xusertype
INNER JOIN dbo.sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0
LEFT JOIN dbo.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
LEFT JOIN sysobjects htl ON htl.parent_obj=d.id AND htl.xtype='F'
LEFT JOIN sysforeignkeys tony on htl.id=tony.constid
WHERE d.name='tb' --这里输入包含表名称的条件
ORDER BY d.id, a.colorder
基于SQL2005 SQL2008 表结构信息查询升级版的详解(含外键信息)
2020-07-08 16:00MSSQL教程网 Sql Server
本篇文章是对SQL2005 SQL2008 表结构信息查询升级版(含外键信息)进行了详细的分析介绍,需要的朋友参考下
延伸 · 阅读
- 2021-12-22SQL2005新建复制“找不到存储过程 错误:2812”的
- 2021-12-22SQL2008全部数据导出导入两种方法
- 2021-11-29详解Oracle数据库中自带的所有表结构(sql代码)
- 2021-09-30sql2005可实时监测数据库版本控制SQL的触发器
- 2021-08-27Laravel创建数据库表结构的例子
- 2021-08-06MySql开发之自动同步表结构
- Sql Server
三种SQL分页查询的存储过程代码
三种SQL分页查询的存储过程代码,需要的朋友可以参考下。 ...
- Sql Server
SQL_Server全文索引的用法解析
SQL Server全文索引相信大家都有一定的了解,下面就为您介绍SQL Server全文索引的用法及相关的语句,希望可以让您对SQL Server全文索引能有更深的认识 ...
- Sql Server
深入SQLServer中ISNULL与NULLIF的使用详解
本篇文章是对SQLServer中ISNULL与NULLIF的使用进行了详细分析介绍,需要的朋友参考下 ...
- Sql Server
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 批量查询自定义对象脚本,使用系统函数object_definition和系统表 sysobjects 就可以了 ...
- Sql Server
SQLServer2005创建定时作业任务
这篇文章主要为大家介绍了SQLServer2005创建定时作业任务的详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...
- Sql Server
SQL JOIN 连接详细介绍及简单使用实例
这篇文章主要介绍了SQL JOIN 连接详细介绍及简单使用实例的相关资料,需要的朋友可以参考下 ...
- Sql Server
SQL2005 存储过程解密方法
SQL2005 存储过程解密方法,需要的朋友可以参考下。...
- Sql Server
SQLServer 数据库的数据汇总完全解析(WITH ROLLUP)
乍一看,好像很容易,用group by好像能实现?但仔细研究下去,你又会觉得group by也是无能为力,总欠缺点什么,无从下手。那么,到底该如何做呢?别急,...