Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

изтрийте записи от междинната таблица, след като са били добавени към истинската таблица

Евентуално бихте могли да направите DELETE от вашата сценична таблица в комбинация с OUTPUT клауза. и INSERT резултатът от OUTPUT клауза в основната ви таблица, за да направите всичко това в един атомен оператор.

OUTPUT deleted.* into dashboardtasks 

Има някои ограничения, изброени в BOL което обаче може да направи този подход нежизнеспособен.

Изходната_таблица не може:

  • Имате активирани тригери, дефинирани върху него.
  • Участвайте от двете страни на ограничението за чужд ключ.
  • Имате ограничения CHECK или активирани правила.

Пълен синтаксис за вашата заявка...

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
                         ))  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Формиране на низ за връзка за свързаност на Android към SQLServer

  2. Как да комбинирам данни от множество редове в един?

  3. Изчислете липсващи периоди от време и припокриващи се периоди от време между две дати

  4. Намерете припокривания на полигони

  5. Как да добавите AM/PM към времева стойност в SQL Server (T-SQL)