我需要从另一个数据库访问用户定义的表类型。
我使用了以下格式:
DECLARE @Hierarchy AS [DatabaseName].[Schema].[Table]
我收到以下错误:
类型名称' [DatabaseName]。[架构]。[表格]'包含多个 最大前缀数。最大值为1
如何从其他数据库访问用户定义的表类型?
答案 0 :(得分:4)
简单:你不能。
架构定义必须来自同一个数据库 - 用法场景中的用户定义类型是架构定义。
这就是为什么只有最大值。允许1个前缀 - 1个前缀标识另一个模式(在同一个数据库中)。
因此,您必须将类型定义复制到其他数据库才能使用它。
答案 1 :(得分:0)
您可以在动态Sql语句中访问它
“使用[DatabaseName] DECLARE @Hierarchy”