2016-10-07 13 views
0

次のコードは動作しません。変数を使用してIDをシードしますか?

DECLARE @seed int 
// set @seed to some value 

ALTER TABLE MyTable ADD MyTableId int identity (@seed, 1) 

結果:

メッセージ102、
付近に正しくない構文は、私が動作するように思われるDBCC CHECKIDENT ('MyTable', RESEED, @seed)を使用

+2

動的SQLを使用する必要がありますが、アイデンティティ列の*数値*値が気になる場合は、間違っていると主張しています。 –

+0

既存のテーブルにID列を追加しようとするとすべてが間違っていますが、後で再シードする必要があります; –

+0

シードの変更は*保守*操作です。さらに、パラメータは 'ALTER TABLE'のようなスキーマ変更コマンドでは意味を持ちません。これは繰り返し実行されるものではなく、一度だけのコマンドです。 –

答えて

0

'を@seed'。

+0

これは、シードの変更が*保守*操作であるためです。それはスキーマを変更しないので、 'ALTER TABLE'のようなスキーマコマンドでは行えません。 –

関連する問題