if COLUMNPROPERTY( object_id('表名'),'字段名','IsIdentity')=1 
  print '是'

解决方案 »

  1.   

    select * from syscolumns
      

  2.   

    插入两条数据,使他们的(被测的)ID字段值一样,
    如果执行成功,则不是IDENTITY;否则就是。
      

  3.   

    那么identity(,)中起始值和步长怎么得到呢
      

  4.   

    exec sp_columns @table_name = 'tablename',@column_name = 'columnName'
    type_name = "int identity"则为自动+1,其它属性类似。
      

  5.   

    那么identity(,)中起始值和步长怎么得到呢
      

  6.   

    如果可能,尽可能不使用 syscolumns 一类的系统表,因为这些表的结构在 SQL Server  的不同版本中都有细微的变化,这样,将导致你的代码在下一个 SQL 版本中不兼容,所以 CrazyFor(蚂蚁) 的方法是对的。TO mymmsc(拉灯) ,
    IDENT_INCR ( 'table_or_view' )  -- 获得步长
    IDENT_SEED ( 'table_or_view' )  -- 获得种子