powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Составить запрос
7 сообщений из 7, страница 1 из 1
Составить запрос
    #34188984
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Ситуация следующая. Имеется некая таблица Table1 с первичным ключом по полу Fieldkey.
Как одним запросом, в замисимости от ситуации, либо добавить запись в таблицу
(INSERT INTO TABLE1 (fieldkey, field1, field2) VALUES (?keystring, ?string1, ?string2) )
либо обновить существующую запись
(UPDATE TABLE1 SET field1 = ?string1, field2 = ?string2 WHERE fieldkey = ?keystring )
Заранее спасибо.
...
Рейтинг: 0 / 0
Составить запрос
    #34188991
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте про MERGE.
...
Рейтинг: 0 / 0
Составить запрос
    #34189011
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в руководстве по
SQL Reference Volume 1 и Volume 2 про MERGE ничего не могу найти, может ткнете носом, где читать
...
Рейтинг: 0 / 0
Составить запрос
    #34189016
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не можешь найти в документации - поищи примеры использования по форуму
...
Рейтинг: 0 / 0
Составить запрос
    #34189153
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Составить запрос
    #34208516
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как можно в параметре USING команды MERGE использовать данные из целевой таблицы. Имеется таблица pu.table_m с полями kod Integer, ts Timestamp, по полю kod создан первичный ключ. В следующей команде отрабатывается, только UPDATE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
MERGE INTO  pu.table_m ar
  USING (SELECT * from pu.table_m where kod = 1 ) ac
   ON  (ar.kod = ac.kod)
   WHEN MATCHED THEN
      UPDATE SET 
         ts = current timestamp
   WHEN NOT MATCHED THEN
      INSERT 
         (kod, ts)
         VALUES  ( 1 , current timestamp);

во всех примерах , на которые были ссылки , используются две таблицы, а вот как вместо таблицы источника использовать переменные , буду очень признателен за разъяснения.
...
Рейтинг: 0 / 0
Составить запрос
    #34209407
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
merge into pu.table_m ar
using (values ( 1 , current timestamp)) v(kod, ts)
on ar.kod=v.kod
when matched then
 update set ar.ts=v.ts
when not matched then
 insert (kod, ts) values (kod, ts);
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Составить запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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