2016-08-16 149 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. 創建輸出表與所需的列

    CREATE TABLE dbo.t_audit (Id int not null); 
    
  2. 使用OUTPUT子句中,選擇您想保持所需的值。

    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

感謝marc ..我無法格式化來自我的系統的腳本。 –

相關問題