Могу ли я заменить таблицу видом (с тем же именем).? - PullRequest
3 голосов
/ 16 декабря 2010

У меня есть 2 базы данных .... a & b

У меня есть таблица "t" в обеих этих базах данных.

Теперь я удаляю таблицу t из базы данных "b".

Я создаю представление "t" (вижу, что имя представления совпадает с удаленной таблицей) в базе данных "b" ... и это представление ссылается на таблицу "t" в базе данных "a".

У меня есть приложение dotnet, которое указывает на базу данных "b".У него есть встроенные запросы .... Так что я могу оставить ссылку как этот "bt" во встроенных запросах.Я имею в виду, будет ли это ссылаться на представление "t" вместо таблицы "t"?

1 Ответ

5 голосов
/ 16 декабря 2010

Да, но таблицу, которую вы хотите заменить, сначала нужно удалить или переименовать - только один объект может иметь имя.

Использование:

CREATE VIEW b.dbo.t AS
  SELECT a.*
    FROM a.dbo.t a

Единственное предостережение: пользователям в базе данных B может потребоваться предоставление привилегии SELECT:

GRANT SELECT ON b.dbo.t TO user

В идеале создайте роль, затем предоставьте SELECT той роли, которую вы можете затем добавить добавить пользователям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...