Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

usuń rekordy z tabeli pomostowej po dodaniu ich do rzeczywistej tabeli

Ewentualnie możesz wykonać DELETE z twojej tabeli pomostowej w połączeniu z OUTPUT klauzula. i INSERT wynik OUTPUT w głównej tabeli, aby zrobić to wszystko w jednym atomowym poleceniu.

OUTPUT deleted.* into dashboardtasks 

Istnieją niektóre ograniczenia wymienione w BOL co może sprawić, że takie podejście będzie nieopłacalne.

Output_table nie może:

  • Zdefiniuj na nim włączone wyzwalacze.
  • Uczestniczyć po obu stronach ograniczenia klucza obcego.
  • Miej ograniczenia CHECK lub włączone reguły.

Pełna składnia zapytania...

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. Jak pogrupować czas według godziny lub 10 minut?

  2. Uzyskaj uprawnienia do kolumn dla tabeli w SQL Server przy użyciu T-SQL:sp_column_privileges

  3. zmień bazę danych na „online” i ustaw db na „wielu użytkowników”

  4. Jak używać Sum, Avg i Count w instrukcji Select — samouczek SQL Server / TSQL, część 128

  5. Mierzenie wydajności zapytań:koszt zapytania w planie wykonania a czas potrzebny