我有2个数据库...... a& B'/ P>
我在这两个数据库中都有表“t”。
现在我从数据库“b”中删除表t。
我创建了一个视图“t”(参见视图名称与删除的表相同) 数据库“b”......这个视图引用数据库“a”中的表“t”。
我有一个dotnet应用程序..它指向数据库“b”。它有内联查询.... 所以我可以在内联查询中保留像“b.t”这样的引用。 我的意思是现在它会引用视图“t”而不是表“t”?
答案 0 :(得分:5)
是的,但您要替换的表必须先删除或重命名 - 只有一个对象可以具有该名称。
使用:
CREATE VIEW b.dbo.t AS
SELECT a.*
FROM a.dbo.t a
唯一需要注意的是,B datbase中的用户可能需要被授予SELECT权限:
GRANT SELECT ON b.dbo.t TO user
理想情况下,创建一个角色,然后将SELECT授予该角色,然后您可以将其添加到用户。