2010-12-03 22 views

回答

1

看一看DELETE (Transact-SQL)

TOP(表達)[PERCENT]

指定將被刪除 隨機的行數或百分比。 表達式可以是一個數字或一個 百分比的行。在帶有INSERT,UPDATE或DELETE的TOP表達式中使用的 中引用的行 不是按照任何順序排列的 。

也許還具有讀在The DELETE statement in SQL Server

0

約刪除一些信息http://msdn.microsoft.com/en-us/library/bb386925.aspx

var ordFetch = 
    (from ofetch in db.Orders 
    where ofetch.OrderID == reqOrder 
    select ofetch).First(); 
db.Orders.DeleteOnSubmit(ordFetch); 
db.SubmitChanges(); 

要選擇頂行:

var data = (from p in people 
      select p).Take(100); 
0

假設ID字段是一個合適的替代品和總是隨着時間而增加(即ID的最小值是最老的,並且總是如此):

using (SqlConnection conn = new SqlConnection("yourconnectionstring")) 
{ 
    SqlCommand cmd = conn.CreateCommand(
     "DELETE FROM table WHERE ID NOT IN (SELECT TOP 20 ID FROM table ORDER BY ID DESC)"); 
    cmd.ExecuteNonQuery(); 
} 

(我的C#語法可能稍有 - 我這樣做是從內存中 - 但SQL查詢應該是不錯。)