|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
SQL нормально выполняется на DB2 v8.1 for Windows и не может на DB2/400 V5R2. Можно как нибудь подкрутить это на АСке? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 14:03 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Черт!!! Оказывается V5R2 не поддерживает рекурсию, а она у меня в запросе есть. Кто нибудь знает как рекурсивный запрос заменить на обычный? Рекурсия обычная, как из примера в DB2 CookBook. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 14:42 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Поробуй коннектится к AS/400 через DB2 Connect??? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 17:14 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Нет, так не пойдет. Я написал программу на Jave, протестировал на виндовозе и хотел закинуть на АСку, а она мне вот такое вывалила. Что DB2/400 V5R2 не поддерживает рекурсию ни в каком виде? Может кто нибудь поможет мне переписать запрос без рекурсии? Запрос точь-в-точь как в кукбуке. Николай, а в OS/400 V5R3 - есть рекурсия? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 17:39 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
AS/400 не входит в мою компетенцию. Не знаю честно говоря ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 17:48 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Жаль. Всё равно спасибо за отклик. 2 all как переписать рекурсию такого вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Я уже весь скульру зафлудил этим вопросом. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 17:55 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Судя по инфе в Болдере - в V5R3 тоже нэма. Раз уж java клиент - перепиши циклом - или с этим сложность? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 22:09 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
фиговенько в цикле писать - производительность упадет на нет. Рекурсивный запрос вообще шустрый был, правда под виндовоз. Сейчас думаем как обойти проблему. А можно ссылку про V5R3? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2004, 23:06 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Где в SQL Reference в описании SELECT по http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm?info/db2/rbafzmst02.htm просто коммент If a fullselect of a common table expression contains a reference to itself in a FROM clause, the common table expression is a recursive table expression. Recursive common table expressions are not supported in DB2 UDB for iSeries. В разделе Programming глава по использованию Common table expression никаких намеков на возможность рекурсии тоже не содержит ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2004, 01:01 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
В принципе есть довольно забавное решение: Если известно что глубина дерева не превысит определенного значения (зависит от данных) можно развернуть рекурсию в одно SQL выражение по тому же принципу как он рекурсивно вычисляется в db2. Есть определенная вероятность что, возможно, окажется и быстрее чем цикл. Надо будет посмотреть - просто интересно как оптимизатор это пропустит через себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2004, 01:17 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
Про это я тоже знаю. Это не решение, потому что глубина дерева неизвестна. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2004, 08:52 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
riman : - have a look at researchweb.watson.ibm.com/journal/sj/392/shi.html But it requires db schema changes. As well as any SQL queries for walking through a tree without recursion. There are , probably, two main types of such queries. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2004, 11:47 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
ggv, thanx. Посмотрю линк на досуге. В принципе, я пока что нашел временное решение для своей задачи (пришлось дико извернуться :) ). Солюшен некрасивый, но из-за дедлайна задачи принят на вооружение. Всем участникам спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2004, 13:47 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
и как решил? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2004, 14:14 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
:) В общем то решение специфично для моей задачи, поэтому и не написал его. Но если интересно - то могу и рассказать. В моей задаче все родственные записи имеют некоторый набор полей, одинаковый для них всех. Но, тот же самый набор полей, может иметь и совсем не относящаяся к ним запись. Для того чтобы определить только родственные записи, я вывожу все записи, имеющие одинаковые наборы полей во временную таблицу, а потом в основном селекте отсеиваю лишние. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2004, 15:13 |
|
Длина оператора превышает допустимое значение.
|
|||
---|---|---|---|
#18+
блин, переписанный без рекурсии скуль все равно выдает эту же ошибку. Т.е. жалуется на то что в запросе слишком много вложенных подзапросов - больше 31. Покажите мне, где у меня 31 вложенный подзапрос? Код: 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. 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. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2004, 17:05 |
|
|
start [/forum/topic.php?fid=43&msg=32688755&tid=1606144]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 130ms |
0 / 0 |