ホームページ >データベース >mysql チュートリアル >SQL Server 2008 で IDENTITY_INSERT を管理するにはどうすればよいですか?
SQL Server 2008 での IDENTITY_INSERT の制御
SQL Server 2008 で ID 列を含むテーブルにデータを挿入するには、ID 値の自動生成をオーバーライドする必要がある場合があります。 IDENTITY_INSERT
がオフのときに指定された値を直接挿入しようとすると、エラーが発生します。
明示的な値を挿入するには、一時的に IDENTITY_INSERT
を有効にする必要があります。 これは、次の T-SQL コマンドを使用して実行されます:
<code class="language-sql">SET IDENTITY_INSERT DatabaseName.SchemaName.TableName ON;</code>
DatabaseName
、SchemaName
、TableName
をそれぞれデータベース名、スキーマ名、テーブル名に置き換えます。
これで、ID 列に指定した値を持つデータを挿入できるようになりました。
<code class="language-sql">INSERT INTO YourTable (IdentityColumn, Column2, Column3, ...) VALUES (YourIdentityValue, Value2, Value3, ...);</code>
重要なことは、必ず、挿入が完了した後は IDENTITY_INSERT
を無効にすることを忘れないでください。
<code class="language-sql">SET IDENTITY_INSERT YourTable OFF;</code>
IDENTITY_INSERT
をオフにしないと、不整合やエラーが発生する可能性があります。
また、SQL Server Management Studio (SSMS) を通じてこの設定を管理することもできます。 オブジェクト エクスプローラーでテーブルを見つけて右クリックし、[プロパティ] を選択し、[ID 仕様] タブに移動して、[IDENTITY_INSERT を許可する] にチェックを入れます。 ただし、これは T-SQL コマンドと同等の GUI であることに注意してください。基礎となるメカニズムは同じままです。 直接 T-SQL 制御により、プログラムによる柔軟性が向上します。
以上がSQL Server 2008 で IDENTITY_INSERT を管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。