正在作一个关于SQL SERVER数据库导入Excel文件的程序,要读取数据库中的列的信息,从网上找了很多资料,终于总结出来比较理想的sql语句,执行后返回的列分别是:表名、列名、列类型、列长度、列描述、是否主键,语句如下:
结果如图:
1
Select
Sysobjects.Name
As
Tb_name, Syscolumns.Name
As
Col_name
, Systypes.Name
As
Col_type, Syscolumns.Length
As
Col_len,
Isnull
(Sysproperties.Value,Syscolumns.Name)
As
Col_memo,
2
Case
When
Syscolumns.Name
In
3
(
Select
主键
=
A.Name
4
From
Syscolumns A
5
Inner
Join
Sysobjects B
On
A.Id
=
B.Id
And
B.Xtype
=
'
U
'
And
B.Name
<>
'
Dtproperties
'
6
Where
Exists
(
Select
1
From
Sysobjects
Where
Xtype
=
'
Pk
'
And
Name
In
(
7
Select
Name
From
Sysindexes
Where
Indid
In
(
8
Select
Indid
From
Sysindexkeys
Where
Id
=
A.Id
And
Colid
=
A.Colid
9
)))
10
And
B.Name
=
Sysobjects.Name
11
)
12
Then
1
Else
0
End
As
Is_key
13
14
From
Sysobjects,Systypes,Syscolumns
15
Left
Join
Sysproperties
On
(Syscolumns.Id
=
Sysproperties.Id
And
16
Syscolumns.Colid
=
Sysproperties.Smallid)
17
18
Where
(Sysobjects.Xtype
=
'
U
'
Or
Sysobjects.Xtype
=
'
V
'
)
19
And
Sysobjects.Id
=
Syscolumns.Id
And
Systypes.Xtype
=
Syscolumns.Xtype
20
And
Systypes.Name
<>
'
Sysname
'
And
Sysobjects.Name
Like
'
%
'
Order
By
Sysobjects.Name, Syscolumns.Colid
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
结果如图:
![Click to Open in New Window](http://www.donews.net/images/blog_csdn_net/guanvee/11.jpg)