VIEW защита части строчек от модификации

Володимир
Дата: 15.01.2009 16:51:52
Мне неоднократно попадаются упоминания о существовании
представлений (VIEW), обладающих тем свойтвом,
что они позволяют коррекцию данных в некоторых строчках,
а для данных в других строчках коррекция запрещена.
Причём всё делается средствами VIEW, триггеры точно не применяются.
Я не могу написать такого представления.

Например, предположим все сотрудники хранятся в одной таблице.
Как наложить запрет на коррекцию данных выбывших сотрудников,
не налагая запрет на коррекцию данных работающих сотрудников
в пределах одного view.
Есть информация, что для этого можно использовать опцию WITH CHECK
однако как это сделать я не могу догадаться.
Может быть есть специалисты, более опытные в этом вопросе?
Гавриленко Сергей Алексеевич
Дата: 15.01.2009 16:55:42
Есть информация, что надо открыть BOL и прочитать про create view. В частности, раздел updatable views.
Glory
Дата: 15.01.2009 17:00:59
Володимир

Есть информация, что для этого можно использовать опцию WITH CHECK
однако как это сделать я не могу догадаться.
Может быть есть специалисты, более опытные в этом вопросе?

Есть хелп. В нем статья CREATE VIEW. В статье пример C. Using WITH CHECK OPTION
The following example shows a view named SeattleOnly that references five tables and allows for data modifications to apply only to employees who live in Seattle.
Володимир
Дата: 15.01.2009 17:22:21
читал, написано не слишком внятно
эта тема действительно освещена в описании команды CREATE VIEW
не всё мне нравится в описании,
потому что утверждается , что есть два способа создания UPDATABLE VIEWS
на самом деле их всё же по моему мнению 3
поскольку самый обычный view с одной таблицей в это число не вошёл.

Во вторых само понятие
UPDATABLE VIEW
осталось туманным, поскольку попались примеры обновляемых представлений с не обноляемыми колонками.

В третьих контекстный HELP к форме в конструкторе VIEW в моём SQL SERVER 2000 отсутствует
(F1 не работает), а непонятные квадратики там всё же есть.
Glory
Дата: 15.01.2009 17:28:09
Ну так и что вы попробовали сделать то ?
Володимир
Дата: 15.01.2009 17:36:25
автор
Есть хелп. В нем статья CREATE VIEW. В статье пример C. Using WITH CHECK OPTION
The following example shows a view named SeattleOnly that references five tables and allows for data modifications to apply only to employees who live in Seattle


Я не знаю какой у Вас сервер, но в SQL 2000 view named SeattleOnly не находится вообще.
если там что-то толковое, не могли бы Вы поделится.
Glory
Дата: 15.01.2009 17:38:00
Володимир
автор
Есть хелп. В нем статья CREATE VIEW. В статье пример C. Using WITH CHECK OPTION
The following example shows a view named SeattleOnly that references five tables and allows for data modifications to apply only to employees who live in Seattle


Я не знаю какой у Вас сервер, но в SQL 2000 view named SeattleOnly не находится вообще.
если там что-то толковое, не могли бы Вы поделится.

А версию сервера нужно указывать при первом сообщении. Иначе каждый волен выбирать любую версию. И хелп к ней
Володимир
Дата: 15.01.2009 17:40:34
glory
Ну так и что вы попробовали сделать то ?


Сизу пью цай
Glory
Дата: 15.01.2009 17:42:13
Приятного аппетита.
Когда надумаете что-нибудь сделать на MSSQL и у вас возникнут вопросы, то откроете новую тему