Možná byste mohli provést DELETE
z vaší pracovní tabulky v kombinaci s OUTPUT
doložka. a INSERT
výsledek OUTPUT
klauzule do vaší hlavní tabulky, abyste to udělali v jednom atomickém příkazu.
OUTPUT deleted.* into dashboardtasks
Existují některá omezení uvedená v BOL což může učinit tento přístup neživotaschopným.
Výstupní_tabulka nemůže:
- Mějte na něm definované aktivované spouštěče.
- Účastnit se obou stran cizího klíčového omezení.
- Mějte CHECK omezení nebo povolená pravidla.
Úplná syntaxe vašeho dotazu...
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
))