我只是在寻找从表中删除最高记录的简单代码。
我试过了:
SqlCommand Delete = new SqlCommand("Command String", cn);
cn.Open();
Delete.CommandText = "DELETE TOP (1) queue.* FROM queue ";
Delete.ExecuteNonQuery();
cn.Close();
但是我收到了一个错误:
'*'附近的语法不正确。
TOP
似乎只适用于SELECT
。
答案 0 :(得分:4)
你可以这样做:
DELETE TOP(1) FROM queue
然而,这只会删除一个随机行(很可能是第一行,但不一定)。您可能想要做一些更有意义的事情,例如:
DELETE FROM queue WHERE queueId IN (
SELECT TOP 1 queueId FROM queue ORDER BY queueId
)
这只是一个例子。我不知道您的表格结构或字段,因此您需要自己决定如何订购。请记住,从队列中发出“DELETE TOP(1)”不一定会删除第一行。它的作用是删除决定为你服务的第一行SQL服务器。它可能是也可能不是你表中的第一行。
答案 1 :(得分:1)
您删除热门记录的SQL查询错误。
替换它:
Delete.CommandText = "DELETE TOP (1) queue.* FROM queue ";
使用
Delete.CommandText = "DELETE TOP(1) FROM queue";