Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL Merge и результат добавления  [new]
yemets63
Member

Откуда: Самара
Сообщений: 1193
немного после Oracle спотыкаюсь в порядке вещей,

делаю триггер и далее по тексту
merge into TABLE2 as trget
using ( 
select TABLE1_POLE1 from TABLE_1
       ) as source
  ON (source.TABLE1_POLE1 = target.TABLE2_POLE1)
 AND (source.TABLE1_POLE2 = target.TABLE2_POLE2)
===========================
далее какие нибудь условия, типа WHERE AND OR 
 для source, например
 AND (source.TABLE1_POLE3 is not null
===========================------------------------ далее
WHEN MATCHED
   AND (source.*****))
     THEN UPDATE
      set
WHEN NOT MATCHED
   and (soure.******)
     THEN INSERT (targget values)
      VALUES (source.values)
END 
GO


надеюсь понятно! Теперь Вопрос?

при выполнении
INSERT (targget values)
      VALUES (source.values)
END 


триггер возьмет значения согласно условия описанного выше

  ON (source.TABLE1_POLE1 = target.TABLE2_POLE1)
 AND (source.TABLE1_POLE2 = target.TABLE2_POLE2)
===========================
далее какие нибудь условия, типа WHERE AND OR 
 для source, например
 AND (source.TABLE1_POLE3 is not null


или нужно писать в
INSERT (targget values)
      VALUES (source.values)
END 
не просто список полей от source на полноценный запрос select * from table where ???
24 сен 19, 13:58    [21977907]     Ответить | Цитировать Сообщить модератору
 Re: SQL Merge и результат добавления  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6680
yemets63,

inserted/deleted изучите для триггеров
24 сен 19, 14:03    [21977914]     Ответить | Цитировать Сообщить модератору
 Re: SQL Merge и результат добавления  [new]
iap
Member

Откуда: Москва
Сообщений: 46881
yemets63
  ON (source.TABLE1_POLE1 = target.TABLE2_POLE1)
 AND (source.TABLE1_POLE2 = target.TABLE2_POLE2)
А в source нет никакого TABLE1_POLE2.
Кстати, TABLE1_POLE3 тоже.
25 сен 19, 11:47    [21978759]     Ответить | Цитировать Сообщить модератору
 Re: SQL Merge и результат добавления  [new]
yemets63
Member

Откуда: Самара
Сообщений: 1193
всем спасибо, всё прекрасно, я не могу весь запрос преретаскивать , сотня строк, смысла нет.

всё работает, конечно не привычно после Oracle, просто в моем случае по условию скобку не там поставил, не увидел, ну и начал плясать с бубном с просьбой о помощи
26 сен 19, 10:22    [21979509]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить