SQL Server2008中通過SQL獲取表結構

bbw3 9年前發布 | 4K 次閱讀 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  

 本文由用戶 bbw3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!