Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Добрый день.

Почему в скулесервере нет цикла FOR?


Это ведь довольно отстойно... не?
29 авг 19, 12:39    [21959721]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36499
А почему слоны не зеленые?

З.Ы. Ослить while и ручной инкремент итератора, видимо, не все могут.
29 авг 19, 12:40    [21959725]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Гавриленко Сергей Алексеевич
А почему слоны не зеленые?

З.Ы. Ослить while и ручной инкремент итератора, видимо, не все могут.


Я хочу по всем записям таблицы пройтись например...
29 авг 19, 12:42    [21959729]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3149
пятый2
Добрый день.

Почему в скулесервере нет цикла FOR?


Это ведь довольно отстойно... не?


это ведь масдайный скулясервер ацтойный для крутых кулхацкеров
29 авг 19, 12:43    [21959730]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Гавриленко Сергей Алексеевич
А почему слоны не зеленые?


Потому что они не в траве живут, как лягушки.
29 авг 19, 12:43    [21959731]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36499
пятый2
Гавриленко Сергей Алексеевич
А почему слоны не зеленые?

З.Ы. Ослить while и ручной инкремент итератора, видимо, не все могут.


Я хочу по всем записям таблицы пройтись например...
DML-операции именно это и делают, зачем еще какой-то FOR?
29 авг 19, 12:43    [21959734]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2272
пятый2
Я хочу по всем записям таблицы пройтись например...

проходитесь, никто не мешает
29 авг 19, 12:44    [21959736]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Гавриленко Сергей Алексеевич
пятый2
пропущено...


Я хочу по всем записям таблицы пройтись например...
DML-операции именно это и делают, зачем еще какой-то FOR?



Мне нужно взять каждую запись таблицы и кое что с ней сделать.

update\insert\truncate-том такое не сделать.
29 авг 19, 12:45    [21959740]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36499
пятый2
Гавриленко Сергей Алексеевич
пропущено...
DML-операции именно это и делают, зачем еще какой-то FOR?



Мне нужно взять каждую запись таблицы и кое что с ней сделать.

update\insert\truncate-том такое не сделать.
Это вам так только кажется.

Сообщение было отредактировано: 29 авг 19, 12:46
29 авг 19, 12:46    [21959744]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Гавриленко Сергей Алексеевич
пятый2
пропущено...



Мне нужно взять каждую запись таблицы и кое что с ней сделать.

update\insert\truncate-том такое не сделать.
Это вам так только кажется.


отнюдь, более того, мне записи менять в таблице не надо.
29 авг 19, 12:47    [21959746]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Ролг Хупин
пятый2
Добрый день.

Почему в скулесервере нет цикла FOR?


Это ведь довольно отстойно... не?


это ведь масдайный скулясервер ацтойный для крутых кулхацкеров


Эх, молодеж, не понимаю ваш йазыг. :-(((
29 авг 19, 12:47    [21959752]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36499
пятый2
Гавриленко Сергей Алексеевич
пропущено...
Это вам так только кажется.


отнюдь, более того, мне записи менять в таблице не надо.
DML -- это не только менять.
29 авг 19, 12:48    [21959754]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Где-то читал спор про задне-передне приводные машины, так там заднеприводные доказывали что им просто жизненно необходим в салоне выступ под кардан... что-то вспомнилось :-))
29 авг 19, 12:48    [21959755]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
пятый2
Member

Откуда:
Сообщений: 91
Гавриленко Сергей Алексеевич
пятый2
пропущено...


отнюдь, более того, мне записи менять в таблице не надо.
DML -- это не только менять.



Ну в общем, я закостылил FOR тем что создал временную таблицу со значениями и по одной строке читал и затем удалял их из этой временной таблицы... но это как-то сильно уж костыльно.
29 авг 19, 12:49    [21959758]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36499
пятый2
Гавриленко Сергей Алексеевич
пропущено...
DML -- это не только менять.



Ну в общем, я закостылил FOR тем что создал временную таблицу со значениями и по одной строке читал и затем удалял их из этой временной таблицы... но это как-то сильно уж костыльно.
Еще раз. FOR = WHILE, который в MSSQL как раз есть. А вам с вашими невероятными операциями надо все переделать было ипользовать курсор.
29 авг 19, 12:51    [21959760]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
invm
Member

Откуда: Москва
Сообщений: 8839
пятый2
Почему в скулесервере нет цикла FOR?
Потому что он там нахрен не уперся.
В редких случаях, когда нужен цикл, достаточно while.
пятый2
Мне нужно взять каждую запись таблицы и кое что с ней сделать.
Открываем документацию и читаем про курсоры.
пятый2
update\insert\truncate-том такое не сделать.
"Не сделать" и "не знаю как сделать" - разные вещи.
29 авг 19, 12:54    [21959769]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 3997
пятый2
Гавриленко Сергей Алексеевич
А почему слоны не зеленые?

З.Ы. Ослить while и ручной инкремент итератора, видимо, не все могут.


Я хочу по всем записям таблицы пройтись например...


Вам надо теорию баз данных читать, если вы собрались ходить в цикле по записям. Сама идея, заниматься таким, говорит о непонимании сути и предназначения БД.
29 авг 19, 12:56    [21959774]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8565
пятый2
Гавриленко Сергей Алексеевич
пропущено...
DML -- это не только менять.



Ну в общем, я закостылил FOR тем что создал временную таблицу со значениями и по одной строке читал и затем удалял их из этой временной таблицы... но это как-то сильно уж костыльно.


Курсов вообще-то для этого есть (даже с возможностью модификации, или без, и с отсылкой на текущую позицию where curent of).

PS тут оперируют таблицами
29 авг 19, 13:01    [21959779]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8565
SIMPLicity_
пятый2
пропущено...



Ну в общем, я закостылил FOR тем что создал временную таблицу со значениями и по одной строке читал и затем удалял их из этой временной таблицы... но это как-то сильно уж костыльно.


Курсов вообще-то для этого есть (даже с возможностью модификации, или без, и с отсылкой на текущую позицию where curent of).

PS тут оперируют таблицами

курсоР .... - поправился
29 авг 19, 13:02    [21959781]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6948
пятый2
Добрый день.

Почему в скулесервере нет цикла FOR?


Это ведь довольно отстойно... не?


потому что здесь другая парадигма программирования, декларативная. Само наличие цикла в коде говорит о том, что "что-то пошло не так", скорее всего.
29 авг 19, 13:20    [21959797]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2302
пятый2
Гавриленко Сергей Алексеевич
пропущено...
DML-операции именно это и делают, зачем еще какой-то FOR?



Мне нужно взять каждую запись таблицы и кое что с ней сделать.

update\insert\truncate-том такое не сделать.
Открою страшную тайну. Есть операция SELECT
29 авг 19, 22:12    [21960165]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
iap
Member

Откуда: Москва
Сообщений: 46887
Гавриленко Сергей Алексеевич
пятый2
пропущено...



Ну в общем, я закостылил FOR тем что создал временную таблицу со значениями и по одной строке читал и затем удалял их из этой временной таблицы... но это как-то сильно уж костыльно.
Еще раз. FOR = WHILE, который в MSSQL как раз есть. А вам с вашими невероятными операциями надо все переделать было ипользовать курсор.
Есть ещё более универсальный и красивый вариант - GOTO в сочетании с IF
30 авг 19, 09:54    [21960300]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4005
пятый2
Добрый день.
Почему в скулесервере нет цикла FOR?
Это ведь довольно отстойно... не?

Нет!
В T-SQL необходимо оперировать массивами, а не отдельными записями.
Прошу не обижаться, но ваш вопрос из-за того, что у вас пока нет этого понимания.
По своему опыту могу сказать, что 99% запросов можно сделать без циклов и курсоров.
30 авг 19, 10:19    [21960325]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6680
кто ещё не высказал свое "фи"?
30 авг 19, 10:20    [21960326]     Ответить | Цитировать Сообщить модератору
 Re: Почему в скулесервере нет цикла FOR?  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4005
пятый2
... по одной строке читал и затем удалял их из этой временной таблицы...

Вот подтверждение моего раннего утверждения.
30 авг 19, 10:21    [21960328]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить