【发布时间】:2011-07-02 15:55:33
【问题描述】:
我正在实施一个电子邮件队列系统。基本思路是将电子邮件存储在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类来完成Select和Delete吗????
如果有更好的方法来实现这一点,请告知。
谢谢大家
【问题讨论】:
标签: sql .net-3.5 compact-framework sql-server-ce