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

Update не работает

Добавлено: 16 апр 2007, 12:15
Ruh
UPDATE APPOINTMENTS
WHERE
((
LSCHET.TPERSON/==PERSONS.NREC AND
PERSONS.NREC/==APPOINTMENTS.PERSON AND
0 /== APPOINTMENTS.WORKREGIME(noindex) and
KLREJIM.REJIM/==LSCHET.REJIM(noindex)
));
SET APPOINTMENTS.WORKREGIME := KLREJIM.NREC;

хочу сделать update на APPOINTMENTS, при выполнение время компиляции 0 сек и данные, соотвественно, не меняется. делаю просто запрос данные выводит. я все перепробывал. Может кто сталкивался с такой ошибкой?

Добавлено: 16 апр 2007, 12:30
Den
Ты где делаешь update в ard или в vip интерфейсе ?

Добавлено: 16 апр 2007, 12:35
Алексей
а может быть точку с запятой убрать после скобок ?

Добавлено: 16 апр 2007, 12:46
Den
Update не корневой таблицы невозможен...по крайней мере в версиях до 8 такое правило имело быть место.

Добавлено: 16 апр 2007, 13:42
varvara
Например,если это операция одноразовая, я бы сделала сначала такой запрос:

select 'UPDATE APPOINTMENTS where ((APPOINTMENTS.nrec=='+string(APPOINTMENTS.nrec)+
')) set APPOINTMENTS.WORKREGIME:='+string(KLREJIM.NREC)+';'
WHERE
((
LSCHET.TPERSON/==PERSONS.NREC AND
PERSONS.NREC/==APPOINTMENTS.PERSON AND
0 /== APPOINTMENTS.WORKREGIME(noindex) and
LSCHET.REJIM==KLREJIM.REJIM
)) ;

А потом полученные запросы запустила на выполнение.

Добавлено: 16 апр 2007, 14:44
Ruh
Алексей писал(а):а может быть точку с запятой убрать после скобок ?
точка с запятой - это косяк копирования :)

Добавлено: 16 апр 2007, 14:45
Ruh
Den и varvara, спасибо

Добавлено: 17 апр 2007, 10:16
edward_K
можно было и напрямую подтянуть в данном случае
appointments.caddnrec2 == lschet.nrec
или
appointments.APPTABNMB == lschet.tabn
эти поля в любом разе должны быть заполнены иначе ждите проблемы в корзине.