Показать сообщение отдельно
Старый 29.03.2019, 09:58   #2  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
Добрый день.
Возникает ошибка обновления записи после проставления нового значения в контейнерное поле. При условии, что выбирается запись вместе с приджоиниными таблицами.
Пример:
Table1 у которой есть поле Field1 типа Container.

X++:
    Table1  table1, 
            table1join; // может быть любая другая таблица
    ;

    ttsBegin;
    select firstOnly forUpdate table1
    join TableId from table1join; //exists join, выборка полей ограничена или нет - не важно
    // where может быть или отсутствовать - не важно
    table1.Field1 = [123];
    table1.update();

    ttsCommit;
Запрос:
Оператор SQL: UPDATE TABLE1 SET FIELD1=<n/a>,RECVERSION=идентификатор WHERE (((DATAAREAID=N'тут компания') AND (RECID=идентификатор)) AND (RECVERSION=идентификатор))

Ошибка:
Описание ошибки SQL: [Microsoft][SQL Native Client][SQL Server]Неправильный синтаксис около конструкции "<".

Помогает выбор записи без джоина.
Этому есть объяснение? Почему <n/a>?
Тот запрос, что вы прислали не работает, т.к. не указано условие, по которому table1join присоединяется к table1