は、私は次のクエリを持っている:Products.Id
& BulkProducts.Id
を想定し出力Inserted.Idし、別のフィールド
DECLARE @OutProduct TABLE
(
ProductID INT,
BulkProductId INT
)
INSERT INTO dbo.Products
(EanCode ,
ChangedDateTime ,
ChangedById ,
Deleted
)
OUTPUT INSERTED.ID, BulkProducts.Id INTO @OutProduct (ProductID, BulkProductId)
SELECT EanCode ,
GETDATE(),
GETDATE(),
0
FROM dbo.BulkProducts
WHERE ProductId is NULL
は自動インクリメントID列です:
私が達成しようとしているもの:
@OutProduct
テンポラリテーブルには、ちょうど挿入されたProducts.Id
とその行のIDがBulkProducts
であるタプルが含まれています。
私が遭遇したこと:BulkProducts.Id
は、有効な構文ではないため、OUTPUT INSERTED.ID, BulkProducts.Id INTO
ステートメントでは使用できません。
どうすればこの問題を解決できますか?
編集:私は、SQL Serverを使用しています2012年
? –
SQL Server 2012 –
あなたは[MERGE']を乱用することができます(http://stackoverflow.com/questions/16328806/can-i-keep-old-keys-linked-to-new-keys-when-making-a-あなたは挿入を行うことができますが、ソーステーブルを参照することもできます。 –