获取表结构信息

               
       

         获取表信息
                             
None.gif SELECT  
None.gif    表名       
=   case   when  a.colorder = 1   then  d.name  else   ''   end ,
None.gif    表说明     
=   case   when  a.colorder = 1   then   isnull (f.value, '' else   ''   end ,
None.gif    字段名     
=  a.name,
None.gif    主键       
=   case   when   exists ( SELECT   1   FROM  sysobjects  where  xtype = ' PK '   and  parent_obj = a.id  and  name  in  (
None.gif                     
SELECT  name  FROM  sysindexes  WHERE  indid  in (
None.gif                        
SELECT  indid  FROM  sysindexkeys  WHERE  id  =  a.id  AND  colid = a.colid)))  then   ' '   else   ''   end ,
None.gif    类型       
=  b.name,
None.gif    占用字节数 
=  a.length,
None.gif    长度       
=   COLUMNPROPERTY (a.id,a.name, ' PRECISION ' ),
None.gif    默认值     
=   isnull (e. text , '' ),
None.gif    字段说明   
=   isnull (g. [ value ] , '' )
None.gif
FROM  
None.gif    syscolumns a
None.gif
left   join  
None.gif    systypes b 
None.gif
on  
None.gif    a.xusertype
= b.xusertype
None.gif
inner   join  
None.gif    sysobjects d 
None.gif
on  
None.gif    a.id
= d.id   and  d.xtype = ' U '   and   d.name <> ' dtproperties '
None.gif
left   join  
None.gif    syscomments e 
None.gif
on  
None.gif    a.cdefault
= e.id
None.gif
left   join  
None.gif    sysproperties g 
None.gif
on  
None.gif    a.id
= g.id  and  a.colid = g.smallid  
None.gif
left   join  
None.gif    sysproperties f 
None.gif
on  
None.gif    d.id
= f.id  and  f.smallid = 0
None.gif
where  
None.gif    d.name
= ' LW_Equipment_Stock_List '      -- 如果只查询指定表,加上此条件
None.gif


     获取表内所有字段
    
None.gif Select   Name    From  SysColumns  Where  ID = OBJECT_ID ( ' table1 ' Order   By  ColID

 下边是关于 Sysobjects的介绍

经常我们要查询表的索引,约束,相关性,触发器的属性,那么要知道sysobjects这个表的字段的意思,那么不管要查什么都没有问题!

Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。
Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。
对象类型(xtype)。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。
用: select * from misa.dbo.sysobjects where xtype='U'and status>0 就可以列出库misa中所有的用户建立的表名。
 
SELECT * FROM SYSOBJECTS WHERE PARENT_OBJ = OBJECT_ID( 'CS') AND XTYPE='TR'
列出表cs的所有属性,上面是trigger!


引用 http://moretea.cnblogs.com/archive/2005/08/14/214667.aspx




转载于:https://www.cnblogs.com/gwazy/archive/2006/08/16/478613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值