このリンクの情報を使用してください リセットする必要のある各テーブルからmax(RID)を取得するSQL関数と組み合わせます。たとえば、主キーシードを25000で開始する場合は、以下のコード(StartSeedValue-1)を使用します
DBCC CHECKIDENT('myTable', RESEED, 24999)
したがって、組み合わせて、あなたはこのような何かを最終的にする必要があります
DECLARE @maxVal INT
SELECT @maxVal = ISNULL(max(ID),0)+1 from mytable
DBCC CHECKIDENT('mytable', RESEED, @maxVal)
擬似コードで申し訳ありませんが、SQL関数を作成してからしばらく経ちました:)
編集:
キャッチしてくれてありがとう、INTEGERをINTに変更しました
USE YourDBName
GO
SELECT *
FROM sys.Tables
GO
これにより、データベース内のすべてのユーザーテーブルのリストが表示されます。このクエリを「ループ」として使用すると、すべてのテーブルのシードをリセットできるようになります。