 |
|
ตอนนี้ที่ทำได้คือ Merge ระหว่าง 2 Database ในเครื่องเดียวกัน (อันนี้ทำได้แน่นอน)
Merge ระหว่างเครื่อง โดยให้เครื่องตัวเองเป็น TARGET เครื่องอื่นเป็น SOURCE อันนี้ก็ได้แล้วเช่นกัน
แต่ที่ผมทำไม่ได้คือ ให้เครื่องอื่นเป็น TARGET อันนี้ผมยังทำไม่ได้ครับ มีวิธีทำหรือตัวอย่างบ้างไหมครับ ผมทำแล้วขึ้น Error
The target of a MERGE statement cannot be a remote table, a remote view, or a view over remote tables.
Code ตัวอย่าง (SQL SERVER)
MERGE esqlProductTarget T
USING esqlProductSource S
ON (S.ProductID = T.ProductID)
WHEN MATCHED
THEN UPDATE
SET T.Name = S.Name,
T.ProductNumber = S.ProductNumber,
T.Color = S.Color
WHEN NOT MATCHED BY TARGET
THEN INSERT (ProductID, Name, ProductNumber, Color)
VALUES (S.ProductID, S.Name, S.ProductNumber, S.Color)
WHEN NOT MATCHED BY SOURCE
THEN DELETE
ต้องการทำแบบนี้ (SQL SERVER)
MERGE [LinkedServerName].[DATABASE].[dbo].[esqlProductTarget] T
USING [dbo].[esqlProductTarget]esqlProductSource S
ON (S.ProductID = T.ProductID)
WHEN MATCHED
THEN UPDATE
SET T.Name = S.Name,
T.ProductNumber = S.ProductNumber,
T.Color = S.Color
WHEN NOT MATCHED BY TARGET
THEN INSERT (ProductID, Name, ProductNumber, Color)
VALUES (S.ProductID, S.Name, S.ProductNumber, S.Color)
WHEN NOT MATCHED BY SOURCE
THEN DELETE
Tag : Ms SQL Server 2008, C#, VS 2008 (.NET 3.x)
|
ประวัติการแก้ไข 2017-05-05 14:54:44
|
 |
 |
 |
 |
Date :
2017-05-05 14:51:59 |
By :
nPointXer |
View :
1987 |
Reply :
1 |
|
 |
 |
 |
 |
|
|
|
 |