誰でも私に説明してくださいMERGE
の使用は何ですか?SQL ServerでIDENTITY_INSERTおよびMERGEとは何ですか?
MERGE Dev.dbo.ProductTypeGroup AS target
USING (
SELECT * FROM Staging.dbo.ProductTypeGroup
) AS src
ON
target.ProductTypeGroupId = src.ProductTypeGroupId
誰でも私に説明してくださいMERGE
の使用は何ですか?SQL ServerでIDENTITY_INSERTおよびMERGEとは何ですか?
MERGE Dev.dbo.ProductTypeGroup AS target
USING (
SELECT * FROM Staging.dbo.ProductTypeGroup
) AS src
ON
target.ProductTypeGroupId = src.ProductTypeGroupId
SET IDENTITY_INSERT Dev.dbo.ProductTypeGroup ON
これはあなたの代わりにあなたのためのID値を供給SQL Serverのに頼るので、ID列の値の挿入が許可されていることを意味します。
MERGEは、原子UPDATE/INSERTを実行するために使用される/いくつかの基準に基づいてDELETE(そうでなければ、前提条件のチェックをしながら、トランザクション内の行をロックする必要があります - いくつかのケースでは、パフォーマンスのために人を傷つけることができる)
あなたが投稿したステートメントは、データベースStaging
のテーブルProductTypeGroup
のすべての行をデータベースDev
の同じテーブルに転送することです。このSQLの実行後、Dev.dbo.ProductTypeGroup
は、ID値(したがって、IDENTITY_INSERT
をオンにする必要性)を含めて、Staging.dbo.ProductTypeGroup
とまったく同じ値を含みます。
この回答を見つけた人は誰でも:質問は投稿後に編集されました。最初に、2つのテーブルの完全なマージを行って、より多くのコードがありました。 – driis
これらは完全に別個の2つの質問であり、両方の回答はSQL Server Books Onlineで簡単に見つかります。 ['IDENTITY_INSERT'](http://msdn.microsoft.com/en-us/library/ms188059.aspx)、[' MERGE'](http://technet.microsoft.com/en-us/library/bb510625) .aspx) –
あなたは研究努力をしていません...他の誰かがあなたのために完全にこの問題を解決するためにここにコードを貼り付けました。これはここでは何がうまくいかないか... FAQを参照してください – TheBoyan