powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
9 сообщений из 9, страница 1 из 1
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958538
corpus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток!!!
собственно сабж, НО некоторый экскурс в проблему: есть таблица current_values, содержащая некие периодически обновляемые значения (текущие показания датчиков). структура -
Код: plaintext
ID, ObjectName, SignalName, Value
есть агент (приложение на с++), собирающий эти показания и обновляющий содержимое поля Value в таблице current_values. можно каждое значение изменять с помощью
Код: plaintext
1.
2.
UPDATE current_values
SET Value = ... 
WHERE ObjectName = ... AND SignalName = ...
но проблема в том, что число таких датчиков около 2500, т.е. надо посылать 2500 UPDATE-запросов.
возможен ли вариант, когда за один UPDATE-запрос можно обновить несколько полей? т.е. примерно так (в псевдокоде)
Код: plaintext
1.
2.
3.
UPDATE current_values
SET Value = <список значений>
WHERE ObjecyName = <список объектов> AND SignalName = <список сигналов>
т.е. агент составляет <список значений>

спасибо за любой ответ.
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958562
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от диалекта вашего SQL-сервера.
Возможно использовать конструкцию INSERT ... ON DUBLICATE KEY UPDATE ..., если он её поддерживает, конечно.
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958566
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очепятка, ON DUPLICATE, конечно же.
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958571
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, corpus!
Ты пишешь:

corpusc> UPDATE current_values
c> SET Value = <список значений>
c> WHERE ObjecyName = <список объектов> AND SignalName = <список сигналов>

c> т.е. агент составляет <список значений>
Код: plaintext
1.
2.
3.
4.
CASE
  WHEN ... THEN ...
  WHEN ... THEN ...
  ELSE ...
END
но сильно сомневаюсь, что хоть одна СУБД
прожуёт 2500 контекстов в CASE.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958572
corpus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
планируется использовать MSSQL, но хотелось бы не зависить от таких "диалектов".
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958661
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, таким требованием вы загнали себя в рамки, в которых задача неразрешима иначе как 2500 запросами..)
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958674
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну разве что, можно загнать новые значения во временную таблицу и использовать синтаксис мультитабличного UPDATE, но это опять же, в некотором роде "использование диалекта". Кстати, а хранимки вы тоже не используете? Тоже ведь "диалект",)
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958731
corpus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
склоняюсь уже к применению временной таблицы и последующим UPDATE ... FROM .... хоть это тоже "диалект". про "хранимки" тоже стоит подумать. но думал, что есть простое решение сей проблемы. спасибо.
...
Рейтинг: 0 / 0
возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
    #33958841
contr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
corpusспасибо за любой ответ.
В oracle можно... Но вам-то под SQL... Попробуйте спросить в соответствующем форуме.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / возможно ли в одном UPDATE-запросе обновить несколько записей, указывая список значений...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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