是否可以创建一个名为 C 的数据库,它是数据库 A + B 中所有表的视图?

dja*_*fan 3 sql-server view

使用 SQL 2005 或 2008,是否可以创建一个名为 C 的数据库,它是数据库 A + B 中所有表的视图?数据库 A、B 和 C 位于同一本地服务器上。

我希望能够在 2 个不同数据库中的表之间创建连接查询。有没有另一种方法可以做到这一点?

gbn*_*gbn 5

如果您愿意,您可以创建 DatabaseC,但它不会增加任何价值。只需使用 3 个部分对象名称:

SELECT 
   A.col1, B.col2
FROM
   DatabaseA.dbo.TableA A
   JOIN
   DatabaseB.dbo.TableB B ON A.xx = B.xx
Run Code Online (Sandbox Code Playgroud)

  • 如果这是一个索引视图怎么办?如果这符合某种目的,您可以将其具体化到数据库 C 中吗? (2认同)
  • @TevoD - 您不能对其他数据库中的表进行“SCHEMABIND”,这是索引视图的要求。 (2认同)