【发布时间】:2017-07-05 07:20:41
【问题描述】:
我在从我的角度调用函数时遇到问题。它们都在不同的模式中,所以我有这样的东西:
View [SchemaA].[ViewName]
WITH SCHEMABINDING
AS
SELECT DISTINCT
[SchemaB].[functionName](value) as 'variable'
FROM
//Several selects with joins
问题是我收到此错误:“无法架构绑定视图 'SchemaA.view'。'SchemaB.functionName' 未绑定架构。”
我也尝试在函数调用中包含数据库名称,如下所示:
[database].[SchemaB].[functionName]
但是还是不行。但是它返回了一个不同的错误:“无法模式绑定视图 'SchemaA.view',因为名称 'SchemaB.functionName' 对于模式绑定无效。名称必须采用两部分格式,并且对象不能引用自身。”
知道我做错了什么吗?
谢谢
【问题讨论】:
-
试试
[database.SchemaB].[functionName] -
返回此错误:“找不到列“database.SchemaB”或用户定义的函数或聚合“database.SchemaB.functionName”,或者名称不明确。”
-
错误消息告诉您函数存在问题,而不是您尝试调用它的方式。
-
您是否错过了架构的所有者:
[SchemaA].[dbo].[functionName]? -
它与函数本身有关,它还需要包含模式绑定标志。感谢您的 cmets
标签: sql sql-server database