SQL Serverでは、テーブル変数を使用しており、操作が完了したら、PKでもあるID列を持つ実際のテーブルにその値を挿入します。
私が作成しているテーブル変数には2つの列があります。物理テーブルには4つあり、最初の列はID列、整数IKです。挿入する列のデータ型は、ターゲット列のデータ型と同じです。
INSERT INTO [dbo].[Message] ([Name], [Type])
SELECT DISTINCT [Code],[MessageType]
FROM @TempTableVariable
これは次の場合に失敗します。
一意のインデックス「IX_Message_Id」を持つオブジェクト「dbo.Message」に重複するキー行を挿入できません。重複するキー値は(ApplicationSelection)です。
しかし、値(...)だけを挿入しようとすると、問題なく機能します。
どうすれば正しくできますか?