MW211 EXIT

devlog
MSSQL/IDENTIFY(自動連番)
2014年09月26日
【IDENTIFY(自動連番)の現在値を確認する方法】
┌──────────────────────────────────────┐
│DBCC CHECKIDENT (表名, NORESEED);                                           │
└──────────────────────────────────────┘
  次回採番されるのは「現在値+1」となる。
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【IDENTIFY(自動連番)の現在値を列の最大値以上にする】
┌──────────────────────────────────────┐
│DBCC CHECKIDENT (表名);                                                     │
├──────────────────────────────────────┤
│DBCC CHECKIDENT (表名, RESEED);                                             │
└──────────────────────────────────────┘
  既に現在値が最大値以上の場合は変化なし。
  次回採番されるのは「現在値(最大値)+1」となる。
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【IDENTIFY(自動連番)の現在値を任意の値にする】
┌──────────────────────────────────────┐
│DBCC CHECKIDENT (表名, RESEED, 値);                                         │
└──────────────────────────────────────┘
  最大値以下にも設定できるが、次回採番(INSERT)時に重複エラーとなる恐れあり。
  「Microsoft SQL Server Management Studio」で実行した場合、
  変更前の現在値を結果出力してから、変更が行われるので
  一見効果がないように錯覚しがち(もう一回実行すれば確認できる)。
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【IDENTIFY(自動連番)の現在値を初期値にする】
┌──────────────────────────────────────┐
│DBCC CHECKIDENT (表名, RESEED, 0);                                          │
└──────────────────────────────────────┘
  次回採番されるのは「1」からとなる。
  「TRUNCATE TABLE」命令時にもこれと同様になる
分類:MSSQL