如何从SQL Server 中取得字段说明
SQL Server 2000
你可以在企业管理器中增加字段说明,也可以使用下面的代码:
'MS_Description',
'some description',
'user',
dbo,
'table',
table_name,
'column',
column_name
现在,你就可以得到通过下面的代码得到字段说明:
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
FROM
INFORMATION_SCHEMA.COLUMNS i_s
LEFT OUTER JOIN
sysproperties s
ON
s.id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
AND s.smallid = i_s.ORDINAL_POSITION
AND s.name = 'MS_Description'
WHERE
OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
-- AND i_s.TABLE_NAME = 'table_name'
ORDER BY
i_s.TABLE_NAME, i_s.ORDINAL_POSITION
如果你只关心某一张表,那么上面的TSQL中的注释部份对你就非常有帮助。反过来就会给你所有表中的所有字段。
如果你只需要所有有说明的表,你可以把out join 改成 inner join
[Table Name] = i_s.TABLE_NAME,
[Column Name] = i_s.COLUMN_NAME,
[Description] = s.value
FROM
INFORMATION_SCHEMA.COLUMNS i_s
INNER JOIN
sysproperties s
ON
s.id = OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME)
AND s.smallid = i_s.ORDINAL_POSITION
AND s.name = 'MS_Description'
WHERE
OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0
ORDER BY
i_s.TABLE_NAME, i_s.ORDINAL_POSITION
SQL Server 2005
在SQL Server 2005 中 sysproperties 表已被废弃,所以上面的代码都不能用。幸运的是他们还是增加了一个系统表给我们 sys.extended_properties,这张表和 sysproperties基本上相似。
[Table Name] = OBJECT_NAME(c.object_id),
[Column Name] = c.name,
[Description] = ex.value
FROM
sys.columns c
LEFT OUTER JOIN
sys.extended_properties ex
ON
ex.major_id = c.object_id
AND ex.minor_id = c.column_id
AND ex.name = 'MS_Description'
WHERE
OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0
-- AND OBJECT_NAME(c.object_id) = 'your_table'
ORDER
BY OBJECT_NAME(c.object_id), c.column_id
和SQL Server 2000一样,你可以使用注释部份来返回某一张表。
Microsoft Access
在Access中,你可以使用下面的ASP代码来得到某一个字段的说明
on error resume next
Set Catalog = CreateObject("ADOX.Catalog")
Catalog.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=<path>\<file>.mdb"
dsc = Catalog.Tables("table_name").Columns("column_name").Properties("Description").Value
if err.number <> 0 then
Response.Write "<" & err.description & ">"
else
Response.Write "Description = " & dsc
end if
Set Catalog = nothing
%>
如何从SQL Server 中取得字段说明相关推荐
- sql server中对xml进行操作
一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...
- SQL Server对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- SQL Server查询某个字段存在哪些表中
一.查询SQL Server中所有的表 SQL语句:SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句:SELECT * ...
- sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段
在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...
- server sql 中类型为bit应该插入什么值_关于SQL Server中bit类型字段增删查改的一些事...
前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而 ...
- sql server中对日期字段值的比较
本文转自:http://www.cnblogs.com/feison/articles/166981.html sql server中对日期字段的比较方式有多种,介绍几种常用的方式: 用northwi ...
- SQL Server中Identity标识列
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...
- predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析
SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致 ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
最新文章
- iOS UILabel UITextView自适应文本,或文本大小自适应
- 人脸识别中的rank-n
- Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)
- 使用CEfSharp之旅(8)CEFSharp 使用代理 更换位置IP
- resteasy_RESTEasy教程第2部分:Spring集成
- 二〇二二注定是踔厉奋发、笃行不怠的一年
- Google服务你都用了哪些?
- python最小二乘法求a b_python_numpy实用的最小二乘法理解
- PYPL 7 月榜单公布:Java 份额出现下降趋势
- opencv contourArea() 计算面积(转)
- ResNet网络理解
- oracle 财务云优势,Oracle ERP云助力财务团队提升业务弹性
- 免费OFD在线阅读器,可以二次开发
- VS2015静态库的使用(下)
- wpa_supplicant介绍
- 使用Hutool发送工作日报
- 如何大幅提高 Django 网站加载速度
- 小谈企业进销存财务系统的应用
- springcloud引言
- 两个不同局域网电脑如何互相访问