SQL Server2008中通过SQL获取表结构

Posted ljbguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server2008中通过SQL获取表结构相关的知识,希望对你有一定的参考价值。

SQL Server2008中通过SQL获取表结构


新增数据用户,角色为public。映射到待获取表结构的数据库上,授与用户在该数据库上的身份为db_owner


运行例如以下SQL语句:

select 
syscolumns.name as [Name] ,
systypes.name as [Type],
syscolumns.length AS [Size],
syscolumns.xprec As [Precision], 
ISNULL(syscolumns.scale, 0) AS [Scale],
sys.extended_properties.value as [Mark],
syscolumns.isnullable as [NULL],
(Case when exists(
select 1 from sysobjects
 inner join sysindexes on sysindexes.name = sysobjects.name  
 inner join sysindexkeys on sysindexes.id = sysindexkeys.id and  sysindexes.indid = sysindexkeys.indid 
 where xtype=‘PK‘ and parent_obj = syscolumns.id    
 and sysindexkeys.colid = syscolumns.colid) then 1 else 0 end) AS [PK],
(Case syscolumns.status when 128 then 1 else 0 end) AS [Identity]
 from syscolumns  
 inner join systypes on (  
syscolumns.xtype = systypes.xtype  
 and systypes.name <>‘_default_‘   
 and systypes.name<>‘sysname‘)  
 left outer join sys.extended_properties on (  
sys.extended_properties.major_id=syscolumns.id   
 and minor_id=syscolumns.colid)  
 where syscolumns.id = (select id from sysobjects where name=‘NDS_TFileForm‘) 
 order by syscolumns.colid



以上是关于SQL Server2008中通过SQL获取表结构的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 2008 中通过联接在更新表中长时间执行

在IIS7中通过PHP连接到SQL SERVER 2008(使用Windows身份验证)?

如何在 MS Access 2007 或 MS SQL Server 2005 中通过 SQL 将字段转换为行

sql server 2008导入和导出sql文件

在存储过程中通过用户的默认架构进行访问时,在SQL Server中切换用户失败

SQL Server R2 2008中的SQL Server Management Studio 阻止保存要求重新创建表的更改问题的设置方法