Roc*_*nce 10 sql sql-server merge
我正在学习如何使用此页面中的SQL Server MERGE语句:https://technet.microsoft.com/en-us/library/bb522522(v = sql.105).aspx
MERGE dbo.FactBuyingHabits AS Target
USING (SELECT CustomerID, ProductID, PurchaseDate FROM dbo.Purchases) AS Source
ON (Target.ProductID = Source.ProductID AND Target.CustomerID = Source.CustomerID)
WHEN MATCHED THEN
UPDATE SET Target.LastPurchaseDate = Source.PurchaseDate
WHEN NOT MATCHED BY TARGET THEN
INSERT (CustomerID, ProductID, LastPurchaseDate)
VALUES (Source.CustomerID, Source.ProductID, Source.PurchaseDate)
OUTPUT $action, Inserted.*, Deleted.*;
Run Code Online (Sandbox Code Playgroud)
但是我可以找到的所有示例(例如上面的示例)都使用实际表作为Source.是否可以直接传递数据?我宁愿不为此创建一个临时表(如果可能并建议?)如何修改上面的查询?
谢谢
小智 14
试试这种格式:
MERGE TARGET_TABLE AS I
USING (VALUES ('VALUE1','VALUE2')) as s(COL1,COL2)
ON I.COL1 = s.COL1
WHEN MATCHED THEN
Run Code Online (Sandbox Code Playgroud)
您还可以参考: "合并"样式操作与文字值?
归档时间: |
|
查看次数: |
3634 次 |
最近记录: |