如何删除顶行?如果超过20行,我想删除顶行。 即时通讯使用c#。
答案 0 :(得分:1)
TOP(表达)[PERCENT]
指定的数量或百分比 将被删除的随机行。 表达式可以是数字也可以是 行的百分比。行 在使用的TOP表达式中引用 INSERT,UPDATE或DELETE不是 按任何顺序排列。
答案 1 :(得分: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);
答案 2 :(得分: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查询应该没问题。)