astel-labs.net

C#などのプログラミングTipsや雑記をつらつらと書くかもしれないブログです。

  • Home
RSS

SQL Server – IDENTITY指定列のIDリセット

Posted on 2014年5月1日 by Nymphaea
No CommentsLeave a comment

自分用メモです。

SQL Server で IDENTITY 指定のID列を作成した場合、テーブル初期化とデータの入れなおしを行うと同時にシード値もリセットする場合には、「BCC CHECKIDENT」ステートメントを使用します。

DBCC CHECKIDENT ( table_name, RESEED, new_reseed_value )
・table_name:現在の ID 値をチェックする、ID列が含まれたテーブルの名前を指定します。
・new_reseed_value :ID 列の現在値として使用する新しい値を指定します。

上記ステートメントを実行後に挿入される最初の行の ID には、
○テーブル作成以降に行が作成されていない場合、または TRUNCATE TABLE ステートメントによってすべての行が削除されている場合には、new_reseed_value が使用されます。
○DELETE ステートメントにより既存行がすべて削除された場合を含む、既に行が挿入されている場合には、次に挿入される行には new_reseed_value + 増分値 が使用されます。

また、テーブルが空でない場合に、ID 値に ID 列の最大値より小さな値を設定すると、
○ID 列に PRIMARY KEY 制約または UNIQUE 制約が設定されている場合、生成される ID 値と既存の値との競合が原因で、テーブルに対する後続の挿入操作でエラーメッセージが生成されます。
○PRIMARY KEY 制約または UNIQUE 制約が設定されていない場合、後続の挿入操作で重複した ID 値が挿入されます。

 

意外と忘れがちですが、CHECKIDENT ステートメントを実行するには、

呼び出し元は、テーブルを所有しているか、sysadmin 固定サーバー ロール、db_owner 固定データベース ロール、または db_ddladmin 固定データベース ロールのメンバーである必要があります。

 

参照元:MSDN
DBCC CHECKIDENT (Transact-SQL)

 

Categories: SQL Server

 

SQL Server – money型とdecimal型を併用した金額計算
WCF – Silverlight でのサービスエラーの構成

コメントを残す

コメントを投稿するにはログインしてください。

  • 2014年5月
    日 月 火 水 木 金 土
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
    « 7月   6月 »
  • 最近の投稿

    • raspberry pi に nginx をセットアップする
    • VSCode を日本語化する
    • raspberry pi に VSCode をインストールする
    • WindowsのプロダクトIDを取得する
    • SQL Server – money型とdecimal型を併用した金額計算
  • アーカイブ

    • 2020年3月
    • 2016年12月
    • 2014年6月
    • 2014年5月
    • 2013年7月
    • 2012年11月
    • 2012年7月
    • 2012年5月
    • 2012年4月
    • 2011年4月
    • 2011年1月
    • 2010年11月
    • 2010年10月
    • 2010年9月
    • 2010年8月
    • 2010年7月
    • 2010年6月
    • 2010年5月
    • 2010年4月
  • カテゴリー

    • C#
    • jQuery
    • OpenCV
    • raspberry pi
    • SharePoint
    • Silverlight
    • SQL Server
    • WCF
    • WPF
    • プログラミング
    • 未分類
    • 雑記
© astel-labs.net. Proudly Powered by WordPress | Nest Theme by YChong

このブログ内で公開されているソースコードおよびサンプルプログラムに関わるライセンスはすべて修正BSDライセンス(New BSD License)として公開しています。
但し、サンプルプログラムに含まれる外部アセンブリが同様のライセンスとは限りませんので、利用する前に必ずすべてのライセンスの確認を行ってください。