[生成数据字典]取数据库表中字段的描述信息
2009-06-06 00:29
288 查看
Sql2000:
==========================
SELECT SysObjects.Name, --表名
SysColumns.Name, --字段名
SysTypes.Name, --字段类型
SysColumns.Length, --字段长度
SysProperties.Value --字段描述
FROM SysObjects,
SysTypes,
SysColumns
LEFT JOIN SysProperties
ON (Syscolumns.Id = Sysproperties.Id AND Syscolumns.Colid = Sysproperties.Smallid)
WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')
AND Sysobjects.Id = Syscolumns.Id
AND SysTypes.XType = Syscolumns.XType
AND Sysobjects.Name = 'Contract' --指字要查找的表名
ORDER BY smallid
SqlServer2005:
=============================
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 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,''),
字段说明 = isnull(g.[value],'')
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='Contract' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
==========================
SELECT SysObjects.Name, --表名
SysColumns.Name, --字段名
SysTypes.Name, --字段类型
SysColumns.Length, --字段长度
SysProperties.Value --字段描述
FROM SysObjects,
SysTypes,
SysColumns
LEFT JOIN SysProperties
ON (Syscolumns.Id = Sysproperties.Id AND Syscolumns.Colid = Sysproperties.Smallid)
WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')
AND Sysobjects.Id = Syscolumns.Id
AND SysTypes.XType = Syscolumns.XType
AND Sysobjects.Name = 'Contract' --指字要查找的表名
ORDER BY smallid
SqlServer2005:
=============================
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 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,''),
字段说明 = isnull(g.[value],'')
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='Contract' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
相关文章推荐
- SQL Server 查询数据库的表结构以及描述来生成数据字典
- SQLserver数据库生成数据字典,数据库字段说明
- SqlServer2005(2000)数据库字典,将表数据生成SQL脚本的存储过程 (转)
- 数据库数据字典生成脚本 (Database Dictionary Generator)
- SQL Server2000导出数据时包含主键、字段默认值、描述等信息
- 构造From窗体获取数据库数据,去除数据库中无用信息,并赋值给字段,最后画出图
- 生成选择Toad导出数据字典,把数据库所有的表结构导出到htm中。
- 动态生成页面(从数据库中动态取出数据信息生成页面)
- 从数据库中获得表的字段和描述信息
- 数据库生成数据字典工具(PDMREAD)图解
- 取数据库表中字段的描述信息
- SQLSERVER2000下生成数据库对象脚本(不包括数据信息)
- 数据字典查询数据库中分区字段
- sql获取数据库中数据表的字段名称,类型等信息
- jsp上传图片生成缩略图并将数据信息添加到数据库(转)
- 采用sql语句生成数据字典,获得表字段及说明
- 数据字典生成工具之旅(8):SQL查询表的约束默认值等信息
- 脚步生成 数据库 数据字典
- oracle数据字典储存的数据库信息。
- poi+jdbc实现从数据库中导出表的数据字典结构(单个sheet和多个sheet供你选择),并且生成excel文档,作者:vipyhd