sql server抓取表结构的语句
2015-06-03 11:31
281 查看
sql server 2008抓取方法:
---------------------------------------
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,
字段说明 = isnull(G.[value],''),
标识 = Case When COLUMNPROPERTY( A.id,A.name,'IsIdentity')=1 Then '√'Else '' End,
主键 = Case When exists(SELECT 1 FROM sysobjects Where xtype='PK' and parent_obj=A.id 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,'')
FROM 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='person'
Order By A.id,A.colorder
---------------------------------------
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,
字段说明 = isnull(G.[value],''),
标识 = Case When COLUMNPROPERTY( A.id,A.name,'IsIdentity')=1 Then '√'Else '' End,
主键 = Case When exists(SELECT 1 FROM sysobjects Where xtype='PK' and parent_obj=A.id 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,'')
FROM 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='person'
Order By A.id,A.colorder
相关文章推荐
- html5 websql 基本语法汇总
- DataBase 之 数据库中的系统表
- MySQL运行状态show status详解
- Redis缓存的安装和使用
- Java学习 - Java操作MongoDB
- 三种东西永远不要放到数据库里
- oracle 如何预估将要创建的索引的大小
- sql中 in和exists的效率
- SQL Server存储过程数组参数
- (JAVA)Mongodb 3.0.2 增、删、改、查 简单示例
- oracle错误代码大全(超详细)
- DataBase 之 数据库常用函数及查看
- oracle 条件:1=1或1=0,动态添加条件
- oracle 删除表、数据
- 待性能改善的一个SQL
- MySQL的InnoDB索引原理详解
- PostgreSQL 简单配置
- [MySQL] xtrabakcup原理
- mysql in和or查询效率
- MAC运行redis