|
Магия курсоров - помогите разобраться
|
|||
---|---|---|---|
#18+
В связи с необходимостью использования конструкции в которой ForEach используется в качестве цикла за счет изменяемой внутри цикла переменной, использованной в WHERE секции, я провел серию экспериментов (IDS 11.10.TC3 и IDS 9.40.TC4) и выявил очень интересные эффекты: Код: 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.
Вот две процедуры. В качестве test_table выбираю таблицу, содержащую 29 строк, причем pserno > 10020 для 13 из них. В первая процедуре цикл выполняется 1 раз, а во второй 11. Почему? Я меняю таблицу на вновь созданную с 12 строками. И получаю 12 выполнений цикла в обоих процедурах. Вопрос: сколько раз должен исполняться цикл в каждом случае и почему? Модератор: Пожалуйста, пользуйтесь тегами. Есть тег [ src ] код программы [ /src ] (без пробелов у скобок) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 12:59 |
|
Магия курсоров - помогите разобраться
|
|||
---|---|---|---|
#18+
1. Не хватает структуры test_table 2. "Чем" выполняете ХП? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 18:44 |
|
|
start [/forum/topic.php?fid=44&fpage=24&tid=1607598]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 170ms |
0 / 0 |