любой способ имитировать предложение OUTPUT в SQl Server Compact 3.5? - PullRequest
0 голосов
/ 23 февраля 2011

Я внедряю систему почтовой очереди. Основная идея заключается в том, чтобы хранить электронные письма в 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 ????

Если есть лучший способ реализовать это, пожалуйста, сообщите.

Благодарю всех

1 Ответ

2 голосов
/ 23 февраля 2011

Выполнение SELECT и UPDATE в одной SqlCeTransaction сделает свое дело.

...