sqlserver查詢字段是否爲自增長或主鍵

/*

查詢標識字段或主鍵字段 [根據表名查詢]

*./ SELECT       字段序號=a.colorder,     字段名=a.name,     字段類型=case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '標識字段'else   '主鍵字段'   end     FROM   syscolumns   a     where   id=object_id(N'loginuser') --要查詢的表名     and( --標識字段     COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1     or   --主鍵字段     exists(SELECT   1   FROM   sysobjects   where   xtype='PK'   and   name   in   (     SELECT   name   FROM   sysindexes   WHERE   indid   in(     SELECT   indid   FROM   sysindexkeys   WHERE   id   =   a.id   AND   colid=a.colid     ))))     order   by   a.id,a.colorder  

/*

查詢當前數據庫所有 標識字段、主鍵字段

*./

 

SELECT         表名=case   when   a.colorder=1   then   d.name   else   ''   end,         字段名=a.name,         標識=case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '√'else   ''   end,         主鍵=case   when   exists(SELECT   1   FROM   sysobjects   where   xtype='PK'   and   name   in   (     SELECT   name   FROM   sysindexes   WHERE   indid   in(     SELECT   indid   FROM   sysindexkeys   WHERE   id   =   a.id   AND   colid=a.colid     )))   then   '√'   else   ''   end     FROM   syscolumns   a         inner   join   sysobjects   d   on   a.id=d.id   and   d.xtype='U'   and   d.name<>'dtproperties'     order   by   a.id,a.colorder          

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章