有什么方法可以模拟 SQl Server Compact 3.5 中的 OUTPUT 子句吗?

发布于 2024-10-19 07:53:56 字数 472 浏览 0 评论 0原文

我正在实施一个电子邮件队列系统。基本思想是将电子邮件存储在 sql ce Db 中,然后通过 Windows 服务读取它们并发送它们。

假设数据库中有 200 行,我需要首先获取 10 条记录,因此我需要 OUTPUT 子句,以便我可以运行类似的操作(

UPDATE MAILQUEUE Set STATUS='Fetched' where QueueID in (select top(10) QueueID from MailQueue where Status='Queued' order by QueueID asc)

**OUTPUT** deleted.*

如果不可能),我还可以考虑从数据库中永久删除这些行并进行处理并在发生故障时将它们存储在 FailQueue 表中。在这种情况下可以使用 SqlCeTransaction 类来完成选择和删除吗???

如果有更好的方法来实现,请告知。

感谢大家

I am implementing a Email Queue system. the basic idea is to store emails in the sql ce Db and then read them through a Windows Service and send them.

Assuming that there are 200 rows in the DB i need to fetch 10 records first and so i needed the OUTPUT clause so that i could run something like this

UPDATE MAILQUEUE Set STATUS='Fetched' where QueueID in (select top(10) QueueID from MailQueue where Status='Queued' order by QueueID asc)

**OUTPUT** deleted.*

if this is not possible i can also think of removing the rows permanently from the DB and processing them and incase of failure store them in a FailQueue table. In this case can Select and Delete be done using the SqlCeTransaction class????

If there is a better way to implement this please advise.

Thanking all

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情域 2024-10-26 07:53:56

在单个 SqlCeTransaction 中执行 SELECT 和 UPDATE 就可以解决问题。

Performing your SELECT and UPDATE in a single SqlCeTransaction would do the trick.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文