如何从系统表中查到一个主键对应的字段
select   *   from   sysobjects   where   xtype= 'pk '   and   parentID=(select   id   from   sysobjects   where   xtype= 'u '   and   name= '表名 ')   
 通过这个语句能够查到某个表的主键object,但是如何知道这个主键object对应是该表的哪个字段呢?
------解决方案--------------------select e.name as  '主键字段名 ' 
 from sysobjects a,sysindexes b,sysindexkeys d,syscolumns e 
 where a.xtype= 'pk ' and parent_obj=(select id from sysobjects where xtype= 'u ' and name= '表名 ') 
 and a.name=b.name and b.indid=d.indid and b.id=d.id and d.id=e.id and d.colid=e.colid
------解决方案--------------------declare @table_name varchar(100) 
  set @table_name= 'table_Pqs ' 
  select    
  col_name(object_id(@table_name),colid) as  '主键字段 ' 
  from sysobjects as o 
  inner  join sysindexes as i on  i.name=o.name  
  inner join  sysindexkeys as k on   k.indid=i.indid and k.id=object_id(@table_name) 
  where  
  o.xtype =  'PK ' and parent_obj=object_id(@table_name)