Показать сообщение отдельно
Старый 28.03.2019, 11:39   #1  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
268 / 829 (28) +++++++
Регистрация: 23.10.2012
Ошибка БД при обновлении контейнерного поля
Добрый день.
Возникает ошибка обновления записи после проставления нового значения в контейнерное поле. При условии, что выбирается запись вместе с приджоиниными таблицами.
Пример:
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>?

Последний раз редактировалось Товарищ ♂uatr; 28.03.2019 в 11:44.