|
|
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Скажите, если у меня есть несколько сеансов одного пользователя (1С SQL), все они выполняют одну хранимую процедуру в которой используется курсор, то не виден ли он случайно несколькими пользователями одновременно. Т.е. не видна ли всеми одновременно переменная @@fetch_status? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 16:19:02 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Курсор глобальный или локальный ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 16:22:20 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Думаю надо так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 16:24:28 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
vadim_march, а что вы хотели сказать этим циклом, если не секрет? mick, @@fetch_status для разных коннектов будет разный. Если курсор локальный, то вообще никаких конфликтов быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 17:55:22 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
>GreenSunrise Под циклом я понимал место, где используется курсор. Когда у меня была проблема с @@FETCH_STATUS. я просто пересчитал строчки в @cou и и спользовал как счетчик ... А @@FETCH_STATUS я больше не пользуюсь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:02:34 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Жуть какая. А какие проблемы были с @@fetch_status? Можа, дело вовсе не в бобине? Единственная ситуация (при описанных выше условиях), когда я могу представить проблему - это вложенные курсоры. Вот тогда статус (не count!) надо сохранять в переменной и проверять именно ее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:11:30 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
В этой конструкции Код: plaintext 1. 2. 3. я не выпал из цикла в конце таблицы и, на последнем FETCH-е сервер сказал: "А нету строк-то, ошибка, :)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:23:35 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
почему, я до сих пор не догадываюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:27:32 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Прикольно. Путаете, небось, что-нибудь. Ошибка была "плавающей" или стабильной? Можете выложить целиком код, который к ней приводил? Как-то с трудом в сказки верится :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:34:39 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Скопировал целиком: Код: 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. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:47:18 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
В цикле fetch next должен стоять В КОНЦЕ. А по вашему коду выходит, что делался первый fetch перед циклом (нормально), потом СРАЗУ ЖЕ второй в начале цикла. Ну фигня и получалась. Особенно, когда после последней строки вы пытались взять значения из курсора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 18:56:13 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
после begin я забыл троеточие но даже если и так, то что случится с @@FETCH_STATUS пока я доберусь до конца цикла почему FETCH только в конце? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 19:04:31 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
2GreenSunrise Проверьте, пожалуйста, свой mailbox. Я изложил свои мысли в письме на Ваш адрес. К сожалению, я плохо разбираюсь в курсорах и не стал выносить свои предложения на всеобщее обозрение. Тем не менее, мне бы очень хотелось узнать Ваше мнение до воскресенья. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 19:10:21 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
В моем представлении @@FETCH_STATUS должен сообщать о состоянии курсора после ПОСЛЕДНЕГО FETCHа в любой момент когда я у него спрашиваю. Ведь за один цикл ОДИН РАЗ выполняется команда if @@FETCH_STATUS = 0 ... т.е. while @@FETCH_STATUS = 0 и один же раз fetch NEXT from curs into @gd_id, @dir_id, @parent, @name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 19:13:45 |
|
||
|
Помогите с курсором
|
|||
|---|---|---|---|
|
#18+
Да со статусом ничего не случится! Случится с вашей текущей записью. Делая fetch, вы получаете очередную строку. Если достигнут конец курсора, то вы получите лажу. И бодро попытаетесь ее обработать. Ведь не сам fetch в момент своего вызова выбрасывает вас из цикла, правильно? А лишь последующая проверка его статуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2002, 19:18:00 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1820521]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 348ms |

| 0 / 0 |
