dream789 发表于 2018-10-14 08:06:30

SQL Server的Identity字段使用/复制/重设

在数据库中, 常用的一个流水编号通常会使用>  后面的范例表皆以此表为建立:

  CREATE TABLE products (id int>  more..
  less..
  1. 在程序中取得identity值:

  因为>  insert into products (product) values ('saw')
  select @@identity

  利用全域变量 @@identity 来取得最后影响的 insert 后产生的>
  2. 若要启用识别插入(identity insert)时, 也就是如空缺号要指定>
  set>  insert into products (id, product) value (3, 'screwdriver')

  要注意的地方是可以 insert 空缺号, 也可以加至最后, 但系统会自动更新>
  3. 查询目前>
  有时我们需要查询目前 table 中该>  dbcc checkident('product', NORESEED)
  可以获得目前最大值的结果.

  4. 重设目前最大>  一样利用 dbcc 指令, 如下:
  dbcc checkident('product', RESEED, 100)

  如此一来, 便能将目前的最大>  dbcc checkident('product', RESEED) 或
  dbcc checkident('product')
  (两者等义)即可顺利修复.

  5.>
  当>  begin tran
  insert into products (product) values ('test rollback')
  rollback tran
  dbcc checkident('product', NORESEED)

  这个观念很重要, 因为要维持>  identity 字段是一项很重功的功能, 若能善加利用, 相信帮助很大.
  所有的数据皆可在 sql server help 内找到, 也请多加利用.

页: [1]
查看完整版本: SQL Server的Identity字段使用/复制/重设