2015-04-12 84 views
1

你好,我需要從數據庫中選擇單個條目,然後刪除選定的行,但我也需要得到選擇結果。選擇獲得結果然後刪除

delete from Emails where Emails.Id in (select top (1) t.Id from Emails t) 

此查詢返回已刪除行的數量,但我需要得到所選行的結果。如何解決它?謝謝!

+0

'頂1'無秩序。 –

回答

2

在你的情況你可以做這樣的事情

delete top(1) from Emails 
output deleted.* 

這裏有更多有關output條款。

sql fiddle demo

+0

謝謝!它的工作原理 – user2598575

0

我需要從DB單一的入口,然後刪除選中的行,但我也 需要得到選擇的結果。

,你可以聲明一個變量,存儲在它選擇的單個值,然後刪除您的記錄:由可以返回任何行

Declare @v int 
set @v= (select top (1) t.Id from Emails t) 

delete from Emails where [email protected] 
+0

如果有多個線程正在運行,則會出現競態條件。 –