|
|
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
Вопрос из праздного любопытства, задачу можно решить многими другими способами. Но поломав голову так и не придумал, как можно одним запросом вытащить всю иерархию записей из таблицы и заменить все ID на значения из сиквенса Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Понятно, что нельзя сослаться на new_id, но хотелось бы что-нибудь подобное. Можно ли вообще это сделать одним запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 19:29 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
connect by, Не до конца понятна задача. Нужно в иерархии просто поменять идишники? Если так, то update по всем строкам, где будут замены. В предложении set (id, parent_id) = (with ... select new_id, new_parent_id ... where old_id = id). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 21:43 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
connect by, с временной таблицей... Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2016, 21:49 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
ma1tus, нерабочий говнокод. думай прежде чем что-то писать. connect by, не вполне понятно зачем именно из сиквенса,но на небольшом количестве значений: Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 11:09 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
Vintma1tus, нерабочий говнокод. думай прежде чем что-то писать.точно, да) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 11:31 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
Из сиквенса врядли, ибо нарвешься на ORA-02287: sequence number not allowed here. А если просто с единицы: Код: plsql 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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 15:20 |
|
||
|
замена всех ID в иерархии одним запросом
|
|||
|---|---|---|---|
|
#18+
SYА если просто с единицы:Единственный раз, когда моделька пригодилась мне не на побаловаться: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2016, 15:36 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39372323&tid=1886769]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 510ms |

| 0 / 0 |
