从另一个数据库访问用户定义的表类型

时间:2014-04-04 06:10:35

标签: sql sql-server

我需要从另一个数据库访问用户定义的表类型。

我使用了以下格式:

DECLARE @Hierarchy AS [DatabaseName].[Schema].[Table]

我收到以下错误:

  

类型名称' [DatabaseName]。[架构]。[表格]'包含多个   最大前缀数。最大值为1

如何从其他数据库访问用户定义的表类型?

2 个答案:

答案 0 :(得分:4)

简单:你不能。

架构定义必须来自同一个数据库 - 用法场景中的用户定义类型是架构定义。

这就是为什么只有最大值。允许1个前缀 - 1个前缀标识另一个模式(在同一个数据库中)。

因此,您必须将类型定义复制到其他数据库才能使用它。

答案 1 :(得分:0)

您可以在动态Sql语句中访问它

“使用[DatabaseName] DECLARE @Hierarchy”