有时候要获得表主键字段,虽然系统自带有存储过程可以获得,但是对于熟悉系统表的话,自己写个也很容易。
2 Declare @table_name varchar(100) 3 Set @table_name='table_Pqs' 4 --1、可以根据系统存储过程 5 Execute sp_pkeys @table_name 6 7 --2、根据系统表获得 8 Declare @objectid int 9 Set @objectid=object_id(@table_name) 10 Select 11 col_name(@objectid,colid) '主键字段' 12 From sysobjects as o 13 Inner Join sysindexes as i On i.name=o.name 14 Inner Join sysindexkeys as k On k.indid=i.indid 15 Where 16 o.xtype = 'PK' and parent_obj=@objectid and k.id=@objectid
这里应用了sysobjects(对象表),sysindexes(索引表),sysindexkeys(索引键表)。 这个查询直接获取对象表里主键的索引来获得的。