访问TSQL从CLR存储过程创建了#temp表.可能吗?

5 t-sql sqlclr temp-tables

  1. 我有一个TSQL存储过程tsql__sp__A,它做了两件事:

(a)创建一个临时表#tempTable,它具有来自复杂SELECT查询的SELECT数据.

(b)为行参数计算的每一行调用CLR管理的存储过程clr__sp__B.

问题:是否可以 使用相同的连接上下文从CLR过程clr__sp__B访问#tempTable?(不,我不想在托管程序中移动或创建另一个#tempTable)

谢谢.

boj*_*boj 0

我们可以在 SQL 中定义两种类型的临时表。

\n\n
    \n
  • 当地的
  • \n
  • 全球的
  • \n
\n\n

关于本地临时表:

\n\n
\n

当表前面带有单个 \xe2\x80\x98#\xe2\x80\x99 符号时,它被定义为本地临时表,并且其范围仅限于创建它的会话。

\n
\n\n

关于全局临时表:

\n\n
\n

与本地临时表相反,全局临时表在整个实例中都是可见的。

\n
\n\n

因此,您可能应该尝试使用“##”来创建全局临时表。(如果“连接上下文”和“会话”之间存在差异)

\n