SQL Server - 读取第一行并删除

Posted

技术标签:

【中文标题】SQL Server - 读取第一行并删除【英文标题】:SQL Server - Read first row and delete 【发布时间】:2016-06-04 23:44:17 【问题描述】:

我希望像使用 .net 中的堆栈一样使用云数据库系统。

将有多个用户添加记录(推送),然后一些应用程序在循环中工作,这些应用程序将读取第一条记录(弹出)并在下一次从另一台机器上选择之前将其删除。

循环会很快,因为与结果无关,所以我担心一个应用程序可能会尝试与另一个应用程序同时读取。

这是 SQL Server 会处理的事情,还是我需要手动锁定?

对于多用户网络堆栈的任何其他建议也会很棒。

【问题讨论】:

查找锁定提示:holdlock、readpast 感谢您的快速响应。再次感谢! 【参考方案1】:

你可以在没有数据库的情况下实现这一点,去任何队列(例如 MSMQ https://msdn.microsoft.com/en-us/library/ms711472(v=vs.85).aspx)

您还将获得:

负载均衡(阅读将在读者之间分配) 事件驱动读取(无需查询数据库所有 读者)

【讨论】:

优秀。正是我所需要的外观。应该在几天前问而不是头撞墙! @RichardHarrison 您应该尝试解决实际问题(排队的东西),而不是陷入特定的实现。这甚至被称为the XY problem。这会使找到答案变得更加困难 @k010mb0 云环境中没有 MSMQ,尽管所有云提供商都有托管队列实现,例如。 Azure 队列、Amazon SQS @PanagiotisKanavos 感谢您的指点。所以我的问题应该是。如何创建网络队列系统。 您确实提到了云,所以只需检查您的云提供商有什么 - Azure 队列或 Amazon SQS?

以上是关于SQL Server - 读取第一行并删除的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL Server CE 表中删除一行?

如何使用openpyxl删除excel中的第一行

从 SQL Server 表中删除一行

Query Sql Server 能够删除表的最后一行

sql server如何将字段添加到第一列

sqlserver中怎样使用游标for循环