Страница 1 из 1

update с подцепкой нескольких таблиц

Добавлено: 01 окт 2008, 08:42
PViP
Прошу не пинать, надо сделать вот такой update

Код: Выделить всё

Update
  katorg
from
  saldmoun
where
((
    date(01,10,2008)  == saldmoun.datesal
and saldmoun.kauos[1] == katorg.nrec
))
and katorg.cformsobs   = 0
and saldmoun.tblos[1]  = 1
and (saldmoun.scheto   = '219н'
  or saldmoun.scheto   = '276'
  or saldmoun.scheto   = '260н')
set katorg.cformsobs = 0001000000000002h
;
он не отрабатывается хотя выборка по этому забросу не пустая

помнится что vip такого рода запросы не поддерживает? так или нет?

в документации на версию 8.1 нашел вот такой код к описанию update

Код: Выделить всё

Update C_CORE::PrjExecutors
from
  C_STAFF::KatPersons
where
((
      'Сидоров'       == KatPersons.LastName
  and KatPersons.Nrec == PrjExecutors.NREC
))
  set PrjExecutors.Quantp := 5;
где правда?

Добавлено: 01 окт 2008, 10:09
KATZ
Уже обсуждалось http://www.tyumbit.ru/gal_forum/viewtopic.php?t=8009. Сделанный тогда вывод:
Update не корневой таблицы невозможен...по крайней мере в версиях до 8 такое правило имело быть место.
Практика показывает, что и в версиях после 8 правило действует => правда в жизни, а не в документации.

Добавлено: 01 окт 2008, 10:37
Алексей
пишите вип и в цикле последовательно апдейтите все необходимые таблы. я так обычно делаю, если это очень нада

Добавлено: 01 окт 2008, 19:02
edward_K
или
select
'update ???????? where (('+string(??????.nrec)+'== nrec )) set .... ;'
where ....
to txt ........ ;
#include ......