|
|
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Здраствуйте! Изв за нелепый вопрос Ест курсор: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Могу ли я не попасть на какую-либо строку, или попасть дважды после update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:34:55 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Если скажешь declare @cursel cursor local forward_only static for select * from #sel where qty > 0 and _hide = 1 order by olongid for update qty, _hide то точно не попадешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:40:03 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
А Вы осознанно хотите курсор использовать? Может без него попробывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:40:04 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Я стараюсь кнему не прибегать, но этот случай - исключение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:41:16 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
мне прийдется двумя курсорами стоять на таблице закупок и продаж и создавать табл связей, попеременно подтягивая то один курсор, то второй в зависимости от количеств в конкретных строках исходных таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:44:51 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, сглупил и поспешил. Мой ответ просьба не засчитывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2002, 17:45:26 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Могу ли я не попасть на какую-либо строку, или попасть дважды после update BOL - Accessing and Changing Relational Data - Cursors - Cursor Types - Forward-only Cursors "Because the cursor cannot be scrolled backward, however, changes made to rows in the database after the row was fetched are not visible through the cursor, except for the case where a value used to determine the location of the row within the result set is modified, such as updating a column covered by a clustered index." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 11:04:09 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
->Glory >>except for the case where a value ... is modified ... и что же всетаки будет в этом кейсе? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 12:42:00 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Ну ведь ясно написано, что это может произойти если в результате изменения записи изменится значение, с помощью которого определяется положение записи в курсоре. Как явный пример, это изменение столбца, входящего в кластерный индекс. А вот каким образом сервер выбирает "a value used to determine the location of the row" - это вопрос. При наличии первичного ключа или поля с identity IMHO все просто - они и будут этим значением. А вот при их отсутствии сервер может выбрать и совокупуность всех полей в качетве ключа, а может и что-нибудь свое "придумать". Угадать, имея в наличии только информацию о том, что временная локальная таблица #sel содержит поля qty, _hide и olongid плюс еще что-то, я не возмусь. Хотя я бы исходил из наихудщих предположений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 12:54:34 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
... в моем случае курсор ходит по строкам, имеющим _hide = 1. Если на очередном шаге цикла с поиощью UPDATE Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:07:08 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
... в моем случае курсор ходит по строкам, имеющим _hide = 1. Если на очередном шаге цикла с помощью UPDATE Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 13:07:35 |
|
||
|
Испортит ли курсор такая конструкция:
|
|||
|---|---|---|---|
|
#18+
Еще раз Вопрос не в том, по каким полям "ходит" курсор, а в том, что он будет использовать для определения местоположения строки в наборе ("to determine the location of the row within the result set"). Если в вашей таблице только 3 поля - qty, _hide и olongid (во всяком случае в вашем примере видны только они) - причем ни одно из них не является первичным ключом, то IMHO может случится и зацикливание курсора, т.к. сервер может сам использовать поле _hide для идентификации строк курсора. А его-то вы как раз и обновляете. Если же например поле olongid уже есть первичный ключ, то ничего подобного не произойдет. Резюме. Чем гадать, каким образом поступит серевер в спорной ситуации, лучше не допустить такой ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2002, 22:46:52 |
|
||
|
|

start [/forum/search_topic.php?author=Tester_W&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 681ms |
| total: | 836ms |

| 0 / 0 |
