Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Принцип оптимистичного параллелизма / 2 сообщений из 2, страница 1 из 1
07.06.2019, 18:03
    #39824228
Andrey.dav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип оптимистичного параллелизма
Добрый день

Несколько раз эта процедура выполнялась, а потом прекратила и появилась ошибка.


UPDATE e
SET e.price= CAST(dbo.st_Round_price(g.Price_Retail * dbo.st_getrate_now(2))-1 as float) ,
e.price_retail=CAST(g.Price_Retail as float) ,
e.price_swiss= CAST(isnull(g.Price_Old,0) as float)
FROM OPENQUERY(MYSQL_ESPRIT,
'select g_id, price, price_retail, price_swiss from goods') as e
INNER JOIN tbl_Goods as g
ON g.g_id = e.g_id
where g.brand_id = 407 and g.g_id > 1000000


Выводит ошибку:

Поставщик OLE DB "MSDASQL" для связанного сервера "MYSQL_ESPRIT" вернул сообщение "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.".
Сообщение 7343, уровень 16, состояние 4, строка 4
Поставщик OLE DB "MSDASQL" для связанного сервера "MYSQL_ESPRIT" не может UPDATE таблицу "[MSDASQL]". В наборе строк использовался принцип оптимистичного параллелизма, и значение столбца было изменено после последней выборки или повторной синхронизации содержащей его строки.

Положили этот update в транзакцию, все равно та же ошибка.
Читал до этого форумы, но нет четкого ответа как эту проблему решить.

Спасибо за помощь

Андрей
...
Рейтинг: 0 / 0
07.06.2019, 18:26
    #39824254
Andrey.dav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Принцип оптимистичного параллелизма
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Принцип оптимистичного параллелизма / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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