叽叽歪歪.net
ASP.net,AJAX,C#和一个乱七八糟的东西
博客园
首页
新随笔
联系
订阅
管理
随笔 - 11 文章 - 0 评论 - 21 trackbacks - 2
<
2008年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
昵称:
小笨狗
园龄:
3年8个月
粉丝:
0
关注:
0
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
文学
(6)
编程
(5)
ASP.net
(3)
开发工具
(2)
Visual Studio 2008
(2)
诗歌
(1)
SQL
(1)
SQL Server
(1)
数据库
(1)
元数据
(1)
更多
随笔档案
2008年9月 (1)
2008年8月 (1)
2008年7月 (1)
2008年6月 (8)
最新评论
阅读排行榜
评论排行榜
推荐排行榜
利用存储过程取得SQL Server 2005数据表信息
CREATE
PROCEDURE
[
dbo
]
.
[
TablePrint
]
@TableName
VARCHAR
(
50
)
AS
SELECT
Sysobjects.name
AS
[
数据表名
]
, syscolumns.name
AS
[
列名
]
,
systypes.name
AS
[
数据类型
]
, syscolumns.length
AS
[
字段长度
]
,
sys.extended_properties.
[
value
]
AS
[
字段描述
]
, syscomments.
text
AS
[
默认值
]
,syscolumns.isnullable
AS
[
是否允许空值
]
FROM
syscolumns
INNER
JOIN
systypes
ON
syscolumns.xtype
=
systypes.xtype
LEFT
JOIN
sysobjects
ON
syscolumns.id
=
sysobjects.id
LEFT
OUTER
JOIN
sys.extended_properties
ON
( sys.extended_properties.minor_id
=
syscolumns.colid
AND
sys.extended_properties.major_id
=
syscolumns.id)
LEFT
OUTER
JOIN
syscomments
ON
syscolumns.cdefault
=
syscomments.id
WHERE
syscolumns.id
IN
(
SELECT
id
FROM
SYSOBJECTS
WHERE
xtype
=
'
U
'
AND
NAME
=
@TableName
)
AND
(systypes.name
<>
'
sysname
'
)
ORDER
BY
syscolumns.colid
GO
标签:
SQL
,
SQL Server
,
数据库
,
元数据
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted on 2008-06-17 09:25
小笨狗
阅读(874)
评论(5)
编辑
收藏
FeedBack:
1300171
#1楼
2008-06-17 13:43
jeffrey_ji81[未注册用户]
两张系统表的名字错了,在sql 2000中是sysobjects,syscolumns,在sql 2005中是sys.objects,sys.columns
如果要兼容sql 2000和sql 2005 可以使用sql的系统视图INFORMATION_CHCHEMA.TABLES和INFORMATION_CHEMA.COLUMNS
具体介绍可以看sql 帮助
回复
引用
#2楼
[
楼主
]
2008-06-17 14:41
小笨狗
--引用--------------------------------------------------
jeffrey_ji81: 两张系统表的名字错了,在sql 2000中是sysobjects,syscolumns,在sql 2005中是sys.objects,sys.columns
如果要兼容sql 2000和sql 2005 可以使用sql的系统视图INFORMATION_CHCHEMA.TABLES和INFORMATION_CHEMA.COLUMNS
具体介绍可以看sql 帮助
--------------------------------------------------------
我查一下联机丛书,呵呵
多谢指教
回复
引用
查看
#3楼
[
楼主
]
2008-06-17 17:06
小笨狗
@jeffrey_ji81:
又试了一下,INFORMATION_CHCHEMA.TABLES似乎无法取得字段的描述信息(就是我们建表的时候在字段的“说明”栏中填写的内容)
回复
引用
查看
#4楼
2008-06-18 09:52
jeffrey_ji81[未注册用户]
是的,在sql 2000中字段描述是保存在sysproperties系统表中的,在sql 2005中是存放在sys.extended_properties系统表中,sql目前没有支持“说明”查询的视图
回复
引用
#5楼
2008-08-28 09:28
kkun
感谢楼主,收藏~
回复
引用
查看
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
美国空军拟最多购买1.8万台iPad 2
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
·
HTC首款Android4.0手机大曝光
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务