|
|
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Не могли бы Вы помочь в такой задаче: " таблица : id, priority, mark Нужно пометить выбрать N записей, которые не помечены и с максимальный приоритетом Должно быть потокобезопасно, чтобы в разные потоки не попали одинаковые записи ". С ASE начал работать недавно. Помогите неопытному человеку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 00:30 |
|
||
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
Почему, собственно, так озаглавил вопрос "UPDATE ORDER BY". Находил такую конструкцию на info.sybase,но почему-то она не срабатывает и ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 00:32 |
|
||
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
PanzerIDДобрый вечер. Не могли бы Вы помочь в такой задаче: " таблица : id, priority, mark Нужно пометить выбрать N записей, которые не помечены и с максимальный приоритетом Должно быть потокобезопасно, чтобы в разные потоки не попали одинаковые записи ". С ASE начал работать недавно. Помогите неопытному человекуА теперь еще раз и поподробнее. А то уж очень загадочное желание. UPDATE ORDER BY - не возможно, потому что бессмысленно. Если тебе обязательно делать обновление записей в каком-то порядке (зачем?), то делаешь курсор for update, в который выбираешь записи в каком-то порядке, и потом в цикле уже обновляешь курсор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 01:28 |
|
||
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
PanzerID, PanzerIDДолжно быть потокобезопасно, чтобы в разные потоки не попали одинаковые записи". Это вообще не понял! PanzerID Нужно пометить выбрать N записей , которые не помечены и с максимальный приоритетом Top что ли? Если нужен Top, то я бы сгрузил бы иды во времянку и потом сделал бы update. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 12:07 |
|
||
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
PanzerID, выбирай записи курсором с for update и order by. потом обрабатывай. update с order by не бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 21:44 |
|
||
|
UPDATE ORDER BY sybase ASE
|
|||
|---|---|---|---|
|
#18+
PanzerIDДобрый вечер. Не могли бы Вы помочь в такой задаче: " таблица : id, priority, mark Нужно пометить выбрать N записей, которые не помечены и с максимальный приоритетом Должно быть потокобезопасно, чтобы в разные потоки не попали одинаковые записи ". С ASE начал работать недавно. Помогите неопытному человеку В цикле (while) уменьшаешь Priority , пока тебе update TOP 100 не вернет значение, отличное от нуля. Второе условие выхода из цикла - минимальное (отрицательное?) значение Priority Про "потокобезопасно" - "разруливается" блокировками на update . Select for update - хорошо, но время блокировок будет бОльшим + если вдруг "это" делается через клиента на джаве - можно выгрести кучу непредсказуемых вещей типа зависающих сессий, не закрытых курсоров и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2014, 18:02 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=38838835&tid=2009789]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 388ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...