设为首页 加入收藏

TOP

将SQL Server中所有表的列信息显示出来
2014-11-24 01:44:50 来源: 作者: 【 】 浏览:12
Tags:SQL Server 所有 信息 显示 出来

正在作一个关于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

结果如图: \

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇给SQL Server传送数组参数的变通.. 下一篇SQL查询有关sql_variant值的基本..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: