gen*_*eek 1 sql-server sql-server-2008
是否可以在数据库A中设置引用数据库B中的表的视图?
我收到以下错误:
无法模式绑定视图'dbo.AGView',因为名称'dbB..AG2Table'对于模式绑定无效.名称必须采用两部分格式,并且对象不能引用自身.
USE [dbA]
GO
IF EXISTS(SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[AGView]'))
DROP VIEW [dbo].[AGView]
GO
USE [dbA]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[AGView] WITH SCHEMABINDING AS
SELECT ag.Id AS [AGId], ag.Name AS [AGName]
FROM dbB..AG2Table agcag
JOIN dbB..AGTable ag on ag.Id = agcag.Id
GO
Run Code Online (Sandbox Code Playgroud)
您可以使用3部分命名创建将链接服务器用于其他数据库的视图 [databaseName].[schemaName].[tableName]
你不能拥有这个WITH SCHEMABINDING条款.使用WITH SCHEMABINDING可防止对视图中使用的表进行架构修改.AGView内部视图dbA无法确保表格的架构dbB尚未修改.
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |