powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / привести поведение UPDATE на SQL Server к поведению как у Access
9 сообщений из 9, страница 1 из 1
привести поведение UPDATE на SQL Server к поведению как у Access
    #39726953
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу помощи в соседнем разделе Microsoft Access / привести поведение UPDATE на SQL Server к поведению как у Access

Суть: UPDATE запрос ведёт себя по разному в SQL server и Access. Эта разница описана в документации. Как обойти/исправить эту разницу?

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 16299: ) (Hypervisor)
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39726979
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterКак обойти/исправить эту разницу?Вы же сами нашли решение - переписать код, который на MSSQL работает не так, как вам нужно.

Не представляю, какие ещё могут быть варианты? Опции "как в ACCESS" в MSSQL нет.
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39726988
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

Я нашёл решение, которое могу применить в ручном режиме. А хочу найти такое, которое можно применить программно. Обернуть в группировку одну из таблиц запроса c одним JOIN , можно при помощи простого кода, а когда JOINов больше и целевая таблица внутри этой цепочки - программа по анализу и изменению текста запроса мне кажется слишком трудоёмкая.
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727021
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monster,

чисто как вариант, - можно триггер INSTEAD OF "прицепить" который будет "моделировать" такое поведение при UPDATE

Но правильно было бы, конечно, переделывать.

Вообще не знаю, кто и чем думал, построив логику на такой частной и "дикой" особенности Акс-а ... !
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727034
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
courtчисто как вариант, - можно триггер INSTEAD OF "прицепить" который будет "моделировать" такое поведение при UPDATEОткуда триггер возьмет множество строк на одну обновляемую?
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727038
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterЯ нашёл решение, которое могу применить в ручном режиме.
это и есть правильное решение в данном случае, надо переписывать несовместимый код. результаты вашей миграции ещё потом поддерживать как-то людям придётся
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727050
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmcourtчисто как вариант, - можно триггер INSTEAD OF "прицепить" который будет "моделировать" такое поведение при UPDATEОткуда триггер возьмет множество строк на одну обновляемую?а это не понадобится :)

Имелось в виду, что в триггере, вместо вызвавшего его
Код: sql
1.
UPDATE B SET B.valB = B.valB + A.valA FROM A INNER JOIN B ON A.id = B.id ;


будет выполнено
Код: sql
1.
UPDATE B SET B.valB = B.valB + AA.valA FROM (SELECT SUM(valA) as valA, id FROM A GROUP BY id) AS AA INNER JOIN B ON AA.id = B.id ;
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727080
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
courtбудет выполнено...Т.е. специализированный костыльный триггер, который еще надо будет как-то научить отличать "костыльный" случай от "некостыльного"?
...
Рейтинг: 0 / 0
привести поведение UPDATE на SQL Server к поведению как у Access
    #39727098
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmТ.е. специализированный костыльный триггерон самый :)

"Отчаянные времена требуют отчаянных мер" (с) :))
Описываем все возможные запросы UPDATE B и "реакцию" на них в триггере.
Все "не описанные" "давим" raiserror-ом. Так победим ! :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / привести поведение UPDATE на SQL Server к поведению как у Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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