Вы можете добавить триггер в представление следующим образом:
CREATE TRIGGER dbo.MySampleView_Trigger_OnInsertOrUpdateOrDelete]
ON dbo.MySampleView
INSTEAD OF INSERT, UPDATE, DELETE
AS
BEGIN
RAISERROR ('You are not allow to update this view!', 16, 1)
END
Вы также можете в крайнем случае добавить запрос на объединение, но это несколько некрасиво - вам нужно сопоставить типы столбцов. Например:
ALTER VIEW dbo.MySampleView
as
SELECT col1, col2 FROM dbo.MySampleTable
UNION
SELECT NULL, NULL WHERE 1 =0
Вы также можете создать новую схему. Скажите dboR (только для чтения). Добавьте эту новую схему в базу данных. Затем добавьте схему к пользователю sql / войдите в систему, которую вы используете для этой базы данных. А затем установите для схемы разрешения только для чтения.
Вам необходимо воссоздать представление и выбрать схему только для чтения для этого представления. На стороне клиента доступа я в большинстве случаев удаляю схему по умолчанию «dbo_» и просто использую таблицу (или имя представления) - таким образом, вы можете продолжать использовать то же имя представления, которое использовали в Access.