Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
update & order by
|
|||
|---|---|---|---|
|
#18+
необходимо пронумеровать записи в таблице tab в порядке возрастания по полю X, в таблице tab есть PK - tab_pk Действую так: Код: plaintext 1. 2. 3. 4. 5. Но моя сортировка никак не влияет. Есть другое средство повлиять на порядок выполнения update? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2008, 19:45 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
tadmin пишет: > Но моя сортировка никак не влияет. > Есть другое средство повлиять на порядок выполнения update? Нет вообще никакого средства на это повлиять. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2008, 22:02 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
повлиять на порядок update наверное нельзя, но можно указать какие строки какими значениями обновлять. tadmin , Вам нужен более глубоко вложеный подзапрос. "Взять все значения из tab, отсортировать их в нужном порядке, приписать в результате к каждой строке её порядковый номер. обновить в tab все строки, записав в t порядковый номер из вышеупомянутого подзапроса" как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. если вносить nextval в подзапрос с order - то nextval выполнится ДО сортировки и будет не то что Вам нужно, если выносить наружу - то порядок его вызова вообще не понятен (как сказал выше MasterZiv )... -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 05:08 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
Ёш пишет: > повлиять на порядок update наверное нельзя, На порядок изменения строк влиять либо невозможно, либо, если и возможно, то вредно в 90% случаев. Вредно в смысле идеологии. Надо реляционными операциями работать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 13:59 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
2 Ёш - спасибо, понял. У меня табличка небольшая, так что выходит быстро. 2 MasterZiv - ну, вы же понимаете, что у меня влияние на порядок update не цель а средство? Может и негодное, но другого я не видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 14:56 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
tadmin пишет: > необходимо пронумеровать записи в таблице tab в порядке возрастания по > полю X, в таблице tab есть PK - tab_pk update tab set t = ( select count(*) + 1 from tab lt where lt.X < tab.X ) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 17:47 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
MasterZiv update tab set t = ( select count(*) + 1 from tab lt where lt.X < tab.X ) у меня в поле X не уникальное, да еще и null есть (я их в конец запихиваю). Так что и в нумерации совпадения пойдут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 18:38 |
|
||
|
update & order by
|
|||
|---|---|---|---|
|
#18+
tadmin пишет: > у меня в поле X не уникальное, да еще и null есть (я их в конец запихиваю). > Так что и в нумерации совпадения пойдут. Тогда упорядочивайте ещё и по другим полям, например, по ключу: update tab set t = ( select count(*) + 1 from tab lt where lt.X < tab.X and lt.tab_pk < tab.tab_pk ) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 18:43 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35697935&tid=2003821]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 438ms |

| 0 / 0 |
