用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

将SQLServer中所有表的列信息显示出来

时间:2014-11-30  来源:互联网  作者:佚名

正在作一个关于SQL(SQL Server培训 mySQL培训 ) 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

结果如图:

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门