我有一個參考TableA,其中有一個名為 [ SomeID ] 的列:
| 一些ID |
|---|
| 美國廣播公司 |
| 國防軍 |
| 全球健康指數 |
| 荷航 |
我有TableB可以是:
CREATE TABLE TableB([ID] BIGINT, [Name] NVARCHAR(50))
[ID] 是主鍵,是自增的。
我想在TableB中為TableA的每條記錄創建一個新記錄。
所以我們這樣做:
DECLARE @OuputTable TABLE([ID] BIGINT, [SomeID] NVARCHAR(50))
INSERT INTO TableB([Name])
OUTPUT INSERTED.[ID], 'Need Associated SomeID From TableA Here' INTO @OutputTable
SELECT 'ZZZZZZ' -- Edited this line to remove some possible confusion.
FROM TableA
SELECT *
FROM
@OuputTable
我如何能夠在不使用回圈的情況下將每個創建的記錄的關聯 [ SomeID ] 值放在@OuputTable中?
uj5u.com熱心網友回復:
您可以嘗試使用MERGE INTOwhich 可能允許您獲取源資料值OUTPUT
MERGE INTO TableB AS dest
USING TableA AS sou ON 1=0
WHEN NOT MATCHED
THEN INSERT ([Name])
VALUES (sou.[SomeID])
OUTPUT INSERTED.[ID], sou.SomeID
INTO @OutputTable (ID, SomeID);
sqlfiddle
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/452747.html
上一篇:SQLServer創建ShiftSchedule4on4offforyearwith假期for4shift
下一篇:回傳日期范圍內的非重疊記錄
