Имя: Пароль:
IT
Админ
MS SQL: добавление данных по условию
0 extrim-style
 
04.06.15
08:44
Есть 2 таблицы. Необходимо добавить данные из второй в первую. Если первая - пустая, тогда добавить первую запись из второй таблицы, иначе - добавить по условию.

Исходный код выглядит так:
"  set @im = (select max(cod) from log)
  
  set @iom = isnull((select min(idmail) from opd_sbmail where idmail>@im),0)
  
  if (@iom>0)
  begin        
    select ...  
    insert into ...
  else
    select ...  
    insert into ...
  end"

Подключаюсь по ADO. Хотелось бы использовать привычные соединения, без переменных, одним запросом.
1 ДенисЧ
 
04.06.15
08:45
Есть очень хорошая команда MERGE. рекомендую
2 extrim-style
 
04.06.15
09:01
(1) спс. будем попробовать.
3 Ненавижу 1С
 
гуру
04.06.15
09:16
(1) не думаю, что это то что нужно, он же всё время только добавляет
4 ДенисЧ
 
04.06.15
09:17
(3) И что? Для этого тоже вполне подходит
5 Ненавижу 1С
 
гуру
04.06.15
09:20
(4) обоснуй
6 ДенисЧ
 
04.06.15
09:21
(5) от обоснуя слышу )))
Предложи свой способ. Без переменных, одинм запросом.
7 Ненавижу 1С
 
гуру
04.06.15
09:24
(6) да вот хрен знает, что там за условие, но мне кажется что-то типа

insert into ...
  select coalesce(T1.X,T2.Y)
  from T1
    left join T2 on ...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший