1
有誰知道複製多個錶行及其相關項目的簡單方法嗎?在SQL中複製多行及其相關的行
在我的簡單示例中,我有兩個表格,一個是公司的表格,一個是他們的員工的表格,我希望能夠以簡單的方式將所有員工都克隆到整個公司。
[Companies]
- ID (Auto-increment)
- Name
[Employees]
- ID
- CompanyID (Foreign Key)
- Name
我一直在玩與周圍的OUTPUT
-clause只是設法沒有原始行參考返回插入的ID。
我只是不知道如何鏈接插入的行到原來的?
如果插入語句返回一個像這樣的表:
@mappingTable
-InsertedCompanyID
-OriginalCompanyID
我可以運行這樣的語句來複制所有員工:
INSERT INTO Employees (CompanyID, Name)
SELECT m.InsertedCompanyID, x.Name FROM @mappingTable m
INNER JOIN Employees x (x.CompanyID = m.OriginalCompanyID)
還是我在錯誤的道路上?有沒有更好的方法來實現這一點?
如果你是SQL Server 2008上,你可以使用輸出子句'merge'。 http://stackoverflow.com/questions/5365629/using-merge-output-to-get-mapping-between-source-id-and-target-id –
正是我在找什麼。謝謝!讓它成爲答案,我會將其標記爲接受:) –