Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 update view содержащей UNION ALL  [new]
vdv
Member

Откуда:
Сообщений: 145
оператор update v3 set f1='123' where id=1 выдает:
Msg 4406, Level 16, State 1, Line 1
Update or insert of view or function 'v3' failed because it contains a derived or constant field.
Что посоветуете, как сделать апдейт во вьюхе, в которой нужно объединить через union? Это возможно? Или есть другой путь? Без union апдейтится без проблем.
drop table t1
create table t1 (id int identity(1,1),f1 varchar(50)
 CONSTRAINT [PK1] PRIMARY KEY NONCLUSTERED ([id] ASC) ON [PRIMARY]
)
insert into t1 values ('111')
insert into t1 values ('222')

drop table t2
create table t2 (id int identity(1,1),f1 varchar(50)
 CONSTRAINT [PK2] PRIMARY KEY NONCLUSTERED ([id] ASC) ON [PRIMARY]
)
insert into t2 values ('333')
insert into t2 values ('444')

create view v1 as select * from t1
create view v2 as select * from t2

drop view v3
create view v3 as select * from v1 union all select * from v2

select * from v3

update v3
set f1='123'
where id=1
23 ноя 09, 18:06    [7966434]     Ответить | Цитировать Сообщить модератору
 Re: update view содержащей UNION ALL  [new]
aleks2
Guest
INSTEAD OF TRIGGER спасет отца русской демократии. Чти катехизис... тьфу... BOL.

Но лучше подумать на тему: а оно мне нада?
23 ноя 09, 18:51    [7966614]     Ответить | Цитировать Сообщить модератору
 Re: update view содержащей UNION ALL  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 456
vdv,

вы уверены что здесь нет опечатки?

update v3
set f1='123'
where id=1
?
Что за поле f1?

Что вам мешает проапдейтить саму таблицу?
23 ноя 09, 18:53    [7966620]     Ответить | Цитировать Сообщить модератору
 Re: update view содержащей UNION ALL  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 456
[quot Romka-Fes]vdv,

вы уверены что здесь нет опечатки?

update v3
set f1='123'
where id=1
?
Что за поле f1? - упс, сорри. понедельник....
23 ноя 09, 18:54    [7966623]     Ответить | Цитировать Сообщить модератору
 Re: update view содержащей UNION ALL  [new]
vdv
Member

Откуда:
Сообщений: 145
aleks2
INSTEAD OF TRIGGER спасет отца русской демократии. Чти катехизис... тьфу... BOL.

Но лучше подумать на тему: а оно мне нада?

Как использовать INSTEAD OF TRIGGER, подробней можно?
24 ноя 09, 10:15    [7968146]     Ответить | Цитировать Сообщить модератору
 Re: update view содержащей UNION ALL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
vdv
Как использовать INSTEAD OF TRIGGER, подробней можно?


BOL->Designing INSTEAD OF Triggers
24 ноя 09, 10:21    [7968206]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить