Атомарный SELECT и UPDATE

Если мои данные выглядят следующим образом:

ID STATUS     DATE_ADDED
== ========== ==========
 1 Processing 2011-04-01
 2 New        2011-04-02 
 3 New        2011-04-03
 4 Processing 2011-04-03
 5 Done       2011-04-06
 6 New        2011-04-06
 7 New        2011-04-14
 8 Done       2011-04-14
 ...

... какой рекомендуемый способ выбрать 10 самых старых записей со статусом «Новые» и установить для них статус «Обработка», убедившись, что все другой параллельный процесс не может делать то же самое с теми же записями?

Это веб-приложение, работающее на PHP / 5.2.6 под Windows Server 2003, которое подключается к удаленному серверу Oracle 10g через ODBC (драйвер Oracle, а не Microsoft).

5
задан Álvaro González 13 April 2011 в 16:51
поделиться