2016-08-16 5 views
-2

Ich habe unter Abfrage, die 10 Datensätze zu einem Zeitpunkt gibt und ich möchte die Daten in eine andere Tabelle speichern, wie geht das?Daten in andere Tabelle einfügen

DELETE FROM TestQueue WITH (READPAST) OUTPUT DELETED.* 
WHERE TestQueue.Id IN 
(
SELECT TOP(10) Id -- maximum batch size 
FROM TestQueue 
WHERE Data >= 0 AND Data <= 1000 -- selection criteria 
ORDER BY Id ASC 
) 
+0

Welche DBMS verwenden Sie? – Jocelyn

+0

SQL Server 2012 – user584018

+1

Die Abfrage dient zum Löschen des Eintrags, nicht zum Auswählen des Eintrags und Speichern in einer anderen Tabelle. – piyushj

Antwort

0

Hier sind die Schritte.

  1. eine Ausgabetabelle mit den erforderlichen Spalten erstellen

    CREATE TABLE dbo.t_audit (Id int not null); 
    
  2. Mit der OUTPUT-Klausel, wählen Sie die gewünschten Werte ein, die Sie behalten wollten.

    DELETE FROM TestQueue WITH (READPAST) 
    OUTPUT DELETED.ID INTO t_audit 
    WHERE TestQueue.Id IN (SELECT TOP(10) Id -- maximum batch size 
             FROM TestQueue 
             WHERE Data >= 0 AND Data <= 1000 -- selection criteria 
             ORDER BY Id ASC) 
    
+0

Danke marc .. ich konnte nicht formatieren das Skript von meinem System. –

Verwandte Themen