Страница 1 из 1
Работа с вычисляемыми полями
Добавлено: 15 Март 2007, 4:13
StillZero
MS SQL 2000
В таблице есть вычисляемое поле типа DATETIME.
В словаре оно описано по стд схеме с OVER-группой.
Вычисляемое поле не должно попадать в запрос INSERT, UPDATE.
Ставлю в словаре этим полям свойство Read Only.
Поле все равно попадает в запрос.
Получаем след ошибки:
при UPDATE
ERROR: [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'TransactionDate' cannot be modified because it is a computed column. [42000]
при INSERT
ERROR: [Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функций [HY010]
Re: Работа с вычисляемыми полями
Добавлено: 16 Март 2007, 13:30
Andrew™
StillZero писал(а):MS SQL 2000
В таблице есть вычисляемое поле типа DATETIME.
В словаре оно описано по стд схеме с OVER-группой.
Вычисляемое поле не должно попадать в запрос INSERT, UPDATE.
Ставлю в словаре этим полям свойство Read Only.
Поле все равно попадает в запрос.
Получаем след ошибки:
при UPDATE
ERROR: [Microsoft][ODBC SQL Server Driver][SQL Server]Column 'TransactionDate' cannot be modified because it is a computed column. [42000]
при INSERT
ERROR: [Microsoft][Диспетчер драйверов ODBC] Ошибка последовательности функций [HY010]
по поводу INSERT - туда попадать не должно, в UPDATE - да попадает, сделай View по всем полям таблицы, а в описании таблицы выкинь это поле - все просмотры по View, все UPDATE по DCT Table
Добавлено: 16 Март 2007, 18:13
Admin
Это конечно выход.
НО! Почему бы ReanOnly поля не скипать из запроса?
Добавлено: 19 Март 2007, 7:11
Andrew™
Admin писал(а):Это конечно выход.
НО! Почему бы ReanOnly поля не скипать из запроса?
есть по крайней мере два типа вычисляемых полей, одни инициализируются на INSERT и можно редактировать на UPDATE, и есть как у тебя в обоих вариантах вычисляются - инициализируются, перевести ReadOnly под твою задачу - значит подставить под удар тех, кто юзает ReadOnly в том варианте, что сейчас, тут надо подумать и ввести новую пропертю
ЗЫ
уведомление наконец то пришло

Добавлено: 19 Март 2007, 8:55
Andrew™
Admin писал(а):Это конечно выход.
НО! Почему бы ReanOnly поля не скипать из запроса?
реализовал такую возможность
в DCT у такого поля выставляешь Field User Option
и данное поле никогда не будет попадать в INSERT и UPDATE конструкции, так же остаются те же правила как и для Read Only атрибута, который для этой опции не обязательно взводить