powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли без процедур разрулить вставку или обновление(+)
4 сообщений из 4, страница 1 из 1
Можно ли без процедур разрулить вставку или обновление(+)
    #33265703
пронин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть, если при условие where что-то там данных нет.. делаем insert иначе update?
...
Рейтинг: 0 / 0
Можно ли без процедур разрулить вставку или обновление(+)
    #33265781
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовать Merge.
...
Рейтинг: 0 / 0
Можно ли без процедур разрулить вставку или обновление(+)
    #33266125
пронин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а тупой вопросец если использовать merge
то как записать мой набор данных в USING?

если селектить то такое канает
with temp (f1, f2) as
(values( 1, 3))
select * from temp

а вот если мёрджить, я же так не смогу написать
with temp (f1, f2) as
(values( 1, 3))
merge into test t
using temp t2
on t.f1 = t2.f1
WHEN MATCHED THEN
update set t.f2 = t2.f2
...
...
Рейтинг: 0 / 0
Можно ли без процедур разрулить вставку или обновление(+)
    #33266163
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE inv(itemno INT, stock INT);
CREATE TABLE sales(itemno INT, sold INT);
MERGE INTO inv AS T 
 USING (SELECT itemno, sum(sold) AS sold
          FROM sales
          GROUP BY itemno) AS S
 ON T.itemno = S.itemno
 WHEN MATCHED AND stock > sold
  THEN UPDATE SET stock = stock - sold
 WHEN MATCHED AND stock = sold THEN DELETE
 WHEN MATCHED THEN SIGNAL badstock  
 WHEN NOT MATCHED AND sold <  0 
  THEN INSERT VALUES(itemno, -sold)
 WHEN NOT MATCHED THEN SIGNAL badstock;
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли без процедур разрулить вставку или обновление(+)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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