我有一个如下所示的表T1,其中没有主键
账户_ID | 订单号 | 文章编号 | 价格 |
---|---|---|---|
1 | 100 | 01 | 100,95 |
1 | 100 | 02 | 59,89 |
2 | 500 | 01 | 80 |
2 | 600 | 01 | 40 |
我有一个视图 V1,我想用它来更新原始表 T1 的数据。它也具有相同的结构,但没有主键
账户_ID | 订单号 | 文章编号 | 价格 |
---|---|---|---|
1 | 100 | 01 | 200 |
1 | 100 | 02 | 79 |
3 | 800 | 01 | 5000 |
所以更新后T1的最终结果应该如下:
账户_ID | 订单号 | 文章编号 | 价格 |
---|---|---|---|
1 | 100 | 01 | 200 |
1 | 100 | 02 | 79 |
2 | 500 | 01 | 80 |
2 | 600 | 01 | 40 |
3 | 800 | 01 | 5000 |
有什么想法可以通过查询来完成吗?
MERGE INTO T1 USING SELECT Account_ID,Order_Number, Article_Number, Price
FROM T2
WHEN MATCHED THEN
UPDATE SET t1.Account_ID=t2.Account_ID, t1.Order_Number=t2.Order_Number, t1.Article_Number=t2.Article_Number, t1.Price=t2.Price
WHEN NOT MATCHED THEN
INSERT INTO T1 (Account_ID,Order_Number, Article_Number, Price) VALUES(t2.Account_ID,t2.Order_Number, t2.Article_Number, t2.Price)