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

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
Тут такая проблема...
Создал вьюху по нескольким таблицам, прописал триггеры INSTEAD OF .....
Ключевое поле во вьюхе - поле ID int (IDENTITY) из таблички.

Пытаюсь вставить новую запись, вьюха ругается, что нельзя вставлять NULL в поле ID.
Понятно, что проблема обходится тем, что можно сказать что-то типа:
insert into myView(ID, .....) Values(0, ....)

Но ведь это свинство!

Не подскажете, можно ли это как-то обойти, а то не красиво как-то получается?
29 окт 03, 14:24    [397986]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
WITH metadata вас спасет
29 окт 03, 14:28    [397996]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А не надо в списке полей упоминать ключевое поле
29 окт 03, 14:30    [398001]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
>> А не надо в списке полей упоминать ключевое поле
А я и не упоминаю.

insert into myView(ID, str1, .....) Values(0, 'data', ....) работает,
а
insert into myView(str1, .....) Values('data', ....) ругается на ID.

А без ключика мне эта вьюшка не нужна...
29 окт 03, 14:50    [398084]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
WITH VIEW_METADATA не спасло... :(
29 окт 03, 15:01    [398116]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А интересно, как именно ругается на ID, если эту колонку не писать в запросе?
29 окт 03, 15:11    [398147]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
to tpg:
А интересно, как именно ругается на ID, если эту колонку не писать в запросе?

The column 'ID' in table 'myView' cannot be null.

Это как раз при запросе типа
insert into myView(str1, .....) Values('data', ....), если в запросе на insert поле ID _не_ фигурирует.

В соответствующей таблице ID - это ключик, int, not null, identity.
29 окт 03, 15:15    [398165]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А точно identity?
29 окт 03, 15:17    [398174]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
Glory
Member

Откуда:
Сообщений: 104760
An INSERT statement referencing a view that has an INSTEAD OF INSERT trigger must supply values for every view column that does not allow nulls. This includes view columns that reference columns in the base table for which input values cannot be specified:

-Computed columns in the base table.
-Identity columns in the base table for which IDENTITY INSERT is OFF.
-Base table columns with the timestamp data type.
29 окт 03, 15:17    [398175]     Ответить | Цитировать Сообщить модератору
 Re: insert Null into View  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
to Glory:
Спасибо.
Значит, не судьба "жить красиво". :)
29 окт 03, 15:23    [398201]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить