2016-08-16 12 views
-2

私は一度に10個のレコードを与える以下のクエリを持っており、データを別のテーブルに保存したいのですが、その方法は?他のテーブルにデータを挿入する

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

? – Jocelyn

+0

SQL Server 2012 – user584018

+1

クエリは、エントリを選択し、別のテーブルに保存するためではなく、エントリを削除するためのものです。 – piyushj

答えて

0

ここに手順があります。

  1. OUTPUT句を使用して必要な列

    CREATE TABLE dbo.t_audit (Id int not null); 
    
  2. で出力テーブルを作成し、あなたが維持したい必要な値を選択します。 DBMSは、使用している

    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

ありがとうございます。私はフォーマットできませんでした。私のシステムからのスクリプト。 –

関連する問題