очень надо решить задачу UPDATE'а вьюшки
От: kontra  
Дата: 24.04.03 07:33
Оценка:
2 модельных таблицы:
CREATE TABLE T1(id numeric IDENTITY(1,1) NOT NULL, title varchar(255) NOT NULL, id_author numeric NOT NULL)
GO
CREATE TABLE T2(id numeric IDENTITY(1,1) NOT NULL, Auth_Name varchar(255) NOT NULL)
GO

Вьюшка :
CREATE VIEW V AS SELECT title, Auth_Name 
FROM T1 INNER JOIN T2 ON T1.id_author=T2.id

Как сделать чтобы по запросу UPDATE V SET Auth_Name='Bill Gates'
В таблице T1 менялся id_author , а T2 — не менялась, но если Bill'а Gates'a там нету, то он добавится и его id пойдет в T1 ?

Задача, думаю известная, но я ее красивого решения пока не нашел (
тем более, что оно нужно для старого престарого SQL Server'a 6.5 , где триггер только для FOR'а

Буду благодарен за ссылки и т.п.
Re: очень надо решить задачу UPDATE'а вьюшки
От: EqWu Россия  
Дата: 24.04.03 10:26
Оценка:
Здравствуйте, kontra, Вы писали:

K>Как сделать чтобы по запросу UPDATE V SET Auth_Name='Bill Gates'

K>В таблице T1 менялся id_author , а T2 — не менялась, но если Bill'а Gates'a там нету, то он добавится и его id пойдет в T1 ?

Нужно создать вьюшку WITH VIEW_METADATA.

То бишь:
CREATE VIEW SomeViewName WITH_METADATA AS ...


В справке по MS SQLServer2000 достаточно подробно описано.
... << RSDN@Home 1.0 beta 6a >>
Re[2]: очень надо решить задачу UPDATE'а вьюшки
От: Merle Австрия http://rsdn.ru
Дата: 24.04.03 10:36
Оценка:
Здравствуйте, EqWu, Вы писали:

EW>В справке по MS SQLServer2000 достаточно подробно описано.

Автор топика написал, что нужно решение для 6.5 и я не уверен, что в нем это есть...
Мы уже победили, просто это еще не так заметно...
Re: очень надо решить задачу UPDATE'а вьюшки
От: KGP http://kornilow.newmail.ru
Дата: 25.04.03 06:54
Оценка:
Здравствуйте, kontra, Вы писали:

для 6.5 наверное через sp ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.