|
|
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Ну вот, дошла и моя очередь заниматься программированием на стороне сервера. Открываю BOL... Ну что за напасть! Вместо того, чтобы использовать (сейчас я фантазирую) оператор типа Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Понимаете о чем я? И что, все так и пишут один и тот же FETCH по два раза или есть еще какие-нибудь возможности? Поделитесь опытом, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 17:29:15 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
declare @Name varchar(255) DECLARE cUsers CURSOR FAST_FORWARD READ_ONLY FOR SELECT distinct [name] FROM SecirutyTable OPEN cUsers WHILE @@ERROR = 0 BEGIN FETCH NEXT FROM cUsers INTO @Name IF @@FETCH_STATUS <> 0 BREAK ELSE SELECT @Name END CLOSE cUsers DEALLOCATE cUsers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 17:45:13 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
И что, все так и пишут один и тот же FETCH по два раза или есть еще какие-нибудь возможности? Поделитесь опытом, пожалуйста. Проектировать схему данных таким образом, чтобы использовать запросы. А курсоры оставить на самый крайний случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:10:16 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Согласен с Глори...сам курсоры не люблю использовать...но реалия жизни такова, что некоторые задачи с помощью них решать легче и быстрее, либо наворачевать более сложную схему данных что не всегда оправдано...а на счет 2х фечтей....пример привел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:15:06 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
2Volhv : Спасибо. Жаль, что начальство очень сильно недолюбливает команды типа BREAK , но в чем-то оно и право... Других возможностей нет? Еще раз спасибо. 2Glory : Может это и есть крайний случай, кто знает... По крайней мере, до сих пор обходились именно запросами, но вот, наконец, уперлись... Думаю, что хорошо бы научиться использовать промежуточный сервер, реализующий бизнес-правила, но это уже не раньше, чем в следующем году. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:25:06 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Странное какое-то начальство....а как еще из цикла выходить до его завершения??? Не ну ГОТУ не любить...это я еще понемаю (хотя на TSQL без него трудно...и не надо меня пинать), но BREAK...это же нормально....странно..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:29:40 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
и-эх.... ждем дружно юкон..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:32:04 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Чего ждем?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:34:17 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
а как еще из цикла выходить до его завершения??? Цикл переиначиваем и, например, укладываем всю логику в флаги и операторы IF ... Но FOR EACH был бы элегантнее, все же. Внешнее условие остается примерно таким: Код: plaintext 1. 2. 3. 4. ждем дружно юкон..... Подробнее можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:44:23 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
)) Ну ладно....стиль прграммирования дело каждого...ну так какие проблеммы, заместо @@ERROR заюзай свой флаг и устанавливай его в условии.....и все...вот только зачем так извращаться....дань непонятной моде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:48:09 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Начальство никогда не бывает неправым полностью, причем уровень типа "потому что сегодня болит зуб" у моего начальства почти недостижим, обычно присутствуют несколько более весомые причины. Вы Дейкстру, к примеру, изучали? Мое начальство - изучало... Опять же, такой текст многим может показаться даже более удобочитаемым, чем с БРЕЙКОМ. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. (Здесь могут быть мои ошибки, поправьте тогда, если обнаружите) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:56:32 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
2 Volhv : Спасибо за подсказки, а то я сначала даже растерялся в этом лесу... Всем пока! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 18:59:25 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Я ПОНЯЛ :) Сори, я-то пытался поделится как я енто далаю на TSQL, а тут идет дебат о создание нового расширения к SQL..... сорри не понят.... ретируюсь :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 19:00:14 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
юкон - следующая версия mssql ... будет тесно интегрирован с операционкой... вроде бы даже заменит файловуюсистему.... также тесно интегрирован .Net платформой... будет специальный релиз Visual Studio .Net for Yukon.... можно будет писать свои функции,триггера,обработчики событий на любом языке поддерживающим платформу .Net (фактически любой транслятор в msil) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 19:11:44 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 00:12:21 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
2Gobzo Kobler: Мне кажется, здесь должен быть TOP 1 Код: plaintext 1. 2. 3. 4. Можно еще для перестраховки добавить ORDER BY a_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 07:25:29 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
По моему, единственное, что нельзя сделать без курсоров, это вызов процедур. Если в процедурах зашита хитрая бизнес-логика, то стесняться использовать курсоры не надо. Просто автоматизируйте этот процесс. На что влияет лишняя строчка кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 10:17:41 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
2 Volhv Fast_Forward по умолчанию Read_Only ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 10:25:01 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
2 Volhv Fast_Forward по умолчанию Read_Only ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2002, 10:35:29 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Интересно. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2002, 15:30:53 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
4ТВВ: Ну я читал Дейкстру:). А чем, скажите, вас не устроил BREAK. Он нисколько не противоречит структурному программированию. Так же как и CASE с FOR в С++. Насколько я помню, Дейкстра так и говорил, что вполне допустимо расширение простого множества WHILE и IF. Приведенный пример, во всяком случае, удовлетворяет требованиям структурного программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 16:10:36 |
|
||
|
Перебор строк курсора - можно... поаккуратнее, посовременнее?
|
|||
|---|---|---|---|
|
#18+
Я не сказал, что BREAK не устроил именно меня. Мое же начальство на эту тему спрашивать совсем не охота. Хорошо еще, что оно позволяет ИНОГДА использовать WHILE с условием после текста цикла, да и то - не часто. :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 16:17:03 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32060422&tid=1819348]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 404ms |

| 0 / 0 |
