今日もSQL Serverネタです。
連番を自動で埋めてくれる列IDENTITYの挙動についてです。
このIDENTITYはROLLBACKすると連番ではなくなるらしい。
おっと思ったのでメモ。
例えば1~10までINSERTしたけど、なんかの理由でROLLBACKしてしまうと、
次埋めるときは11からになって飛び飛びになってしまうらしい。。。
で、どこまで使っているか調べるには次のようにするといいらしい。
DBCC CHECKIDENT ([テーブル名], NORESEED);
で、IDをリセットするにはどうするかというと次のようにすると、0にリセットできるらしい。
DBCC CHECKIDENT ([テーブル名], RESEED, 0); -- 0 にリセット