ホームページ >データベース >mysql チュートリアル >SQL Server 2008 で IDENTITY_INSERT を管理するにはどうすればよいですか?

SQL Server 2008 で IDENTITY_INSERT を管理するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-09 08:46:44834ブラウズ

How to Manage IDENTITY_INSERT in SQL Server 2008?

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>

DatabaseNameSchemaNameTableName をそれぞれデータベース名、スキーマ名、テーブル名に置き換えます。

これで、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。