Có thể bạn có thể thực hiện DELETE
từ bảng dàn của bạn kết hợp với OUTPUT
mệnh đề. và INSERT
kết quả của OUTPUT
vào bảng chính của bạn để thực hiện tất cả điều này trong một câu lệnh nguyên tử.
OUTPUT deleted.* into dashboardtasks
Có một số hạn chế được liệt kê trong BOL mặc dù điều đó có thể làm cho cách tiếp cận này không khả thi.
Output_table không được:
- Đã bật các trình kích hoạt được xác định trên đó.
- Tham gia vào một trong hai bên của ràng buộc khóa trước.
- Có CHECKconstraints hoặc các quy tắc đã bật.
Cú pháp đầy đủ cho truy vấn của bạn ...
DELETE FROM staggingtasks
OUTPUT DELETED.[tour],
DELETED.tourname,
DELETED.[taskname],
DELETED.[deptdate],
DELETED.[tasktype],
DELETED.[desc],
DELETED.[duedate],
DELETED.[compdate],
DELETED.[comments],
DELETED.[agent],
DELETED.[compby],
DELETED.[graceperiod],
DELETED.completed,
DELETED.canceled
INTO dashboardtasks
WHERE NOT EXISTS(SELECT *
FROM dashboardtasks
WHERE ( staggingtasks.tour = dashboardtasks.tour
and staggingtasks.taskname = dashboardtasks.taskname
and staggingtasks.deptdate = dashboardtasks.deptdate
and staggingtasks.duedate = dashboardtasks.duedate
and staggingtasks.tourname = dashboardtasks.tourname
))