Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Порядок обработки записей оператором UPDATE / 4 сообщений из 4, страница 1 из 1
14.03.2002, 08:23
    #32025181
Sergey Setkov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок обработки записей оператором UPDATE
Можно-ли как то задать порядок обработки записей оператором UPDATE ?
Например если есть 2 поля: mes & summa, нужно обрабатывать записи в порядке возрастания mes, т.к. summa в текущем месяце вычисляется в зависимости от суммы в предыдущем месяце ???
...
Рейтинг: 0 / 0
14.03.2002, 08:47
    #32025186
qu-qu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок обработки записей оператором UPDATE
На "живой" таблице - порядок выполнения UPDATE по строкам совпадает с размещением данных в записях (т.е. - по кластерному индексу).

Если нужен порядок выполнения отличный от кластерного индекса - можно сделать:
SELECT ... INTO #temp_table FROM ... WHERE ... ORDER BY ...

Во временной таблице - порядок выполнения UPDATE будет соответствовать порядку попадания туда записей, обусловленному предыдущим ORDER BY ...

З.Ы. никаких ссылок на документацию по этому поводу - не имею, просто - неоднократно проверенный и используемый многими опыт.
...
Рейтинг: 0 / 0
26.03.2002, 11:03
    #32026210
Michael+Hopgarden
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок обработки записей оператором UPDATE
2 qu-qu и др. "курсороненавистникам"

A не было ли случаев когда порядок выполнения update во временной таблице для 7.0 и выше не соответствовал бы выше приведенному утверждению qu-qu?

Что будет если временная таблица будет ну о-о-очень большой?

Вопрос не праздный. Давно хочу засунуть курсоры куда подальше.
...
Рейтинг: 0 / 0
26.03.2002, 17:48
    #32026249
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок обработки записей оператором UPDATE
Прямо по озвученному вопросу ничего конкретно сказать не могу. Однако, я столкнулся с интересным поведением оператора UPDATE в случае, когда используется синтаксис с двойным FROM, а конструкция после второго FROM возвращает число записей больше , чем в модифицируемой таблице. Мне было необходимо не просто проапдейтить записи, но еще и запустить триггер, в котором должны были обработаться несколько вариантов модификации одной записи. То есть, выполнить модификацию каждой записи не однократно, а многократно. К сожалению, отрабатывает только опервый попавшийся в выборке вариант модификации записи. Хотел дать ссылку на свое сообщение на форуме, искал все комбинации фразы "чертов однопроходный update", но почему-то найти не смог.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Порядок обработки записей оператором UPDATE / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]