Tôi đang cố gắng thực hiện chèn/cập nhật hàng đơn trên một bảng nhưng tất cả các ví dụ hiện có cho bộ.cho hàng đơn MERGE/upsert trong SQL Server
bất cứ ai có thể sửa chữa cú pháp của tôi xin vui lòng:
MERGE member_topic ON mt_member = 0 AND mt_topic = 110
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test')
Nghị quyết mỗi marc_s là để chuyển đổi hàng duy nhất để một subquery - mà làm cho tôi nghĩ rằng lệnh MERGE là không thực sự dành cho upserts hàng duy nhất.
MERGE member_topic
USING (SELECT 0 mt_member, 110 mt_topic) as source
ON member_topic.mt_member = source.mt_member AND member_topic.mt_topic = source.mt_topic
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test');
Hmm , các dòng được đặt cách nhau rất gần trong trình duyệt của tôi mà một số dấu gạch dưới không hiển thị. – Jacob