Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как работает insert, если в таблице есть поле с пользовательским типом (UDT)  [new]
Alexandr Golovko
Member

Откуда: Kiev
Сообщений: 223
Создал пользовательский тип CurrencyRate, с одним свойством December типом double
Дальше, есть таблица Table1, с единственным полем, типа CurrencyRate
Когда пытаюсь сделать: Insert into Table1 (pole.December) values(3)
Ошибка: Invalid column name 'December'.
Когда же делаю так:
Insert into Table1 (pole) values('')
update Table1 set pole.December=3
То все работает.
Но мне нужно сразу втавлять записи, а не через Insert->Update
26 дек 05, 13:12    [2209187]     Ответить | Цитировать Сообщить модератору
 Re: Как работает insert, если в таблице есть поле с пользовательским типом (UDT)  [new]
saint
Member

Откуда: Архангельск
Сообщений: 2262
А Вы методы Parse и ToString реализовали?
26 дек 05, 13:36    [2209271]     Ответить | Цитировать Сообщить модератору
 Re: Как работает insert, если в таблице есть поле с пользовательским типом (UDT)  [new]
Alexandr Golovko
Member

Откуда: Kiev
Сообщений: 223
Реализовал
но мне кажеться, что тут в другом проблемма.
ошибка звучит: Invalid column name 'December'
мне кажеться, что это синтаксическая ошибка.
26 дек 05, 13:50    [2209333]     Ответить | Цитировать Сообщить модератору
 Re: Как работает insert, если в таблице есть поле с пользовательским типом (UDT)  [new]
Alexandr Golovko
Member

Откуда: Kiev
Сообщений: 223
Можно, конечно, написать так:Insert into Table1 (pole) values('December=3')
и в методе Parse разнести значения по свойствам.
Но разве нельзя как в случае с update (update Table1 set pole.December=3) также указать поле и свойство и занести запись в таблицу?
26 дек 05, 14:17    [2209435]     Ответить | Цитировать Сообщить модератору
 Re: Как работает insert, если в таблице есть поле с пользовательским типом (UDT)  [new]
saint
Member

Откуда: Архангельск
Сообщений: 2262
Просто так сделать это как вы хотите, мне кажется не получится. При вставке данных создаются новые экземпляры типов, те в разделе столбцов указываются сами объекты, а не их члены.
Думаю, если встроить в UDF функцию конвертации из int в CurrencyRate, то можно будет имитировать необходимую вам функциональность.
26 дек 05, 15:37    [2209779]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить