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'а
Буду благодарен за ссылки и т.п.
Здравствуйте, 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 >>