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

(a) 创建一个临时表#tempTable,其中包含来自复杂 SELECT 查询的 SELECT 数据。

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

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

谢谢。

4

2 回答 2

2

谢谢博杰。

但是我发现,当您使用“上下文连接 = true”时,它会打开所有 SET

阅读波尔文章

//上下文连接允许您在最初调用代码的相同上下文中执行 SQL 语句//

using (SqlConnection connection = new SqlConnection("context connection=true"))
{
    connection.Open();
    // access #temp table
}
于 2009-04-11T00:13:47.533 回答
0

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

  • 当地的
  • 全球的

关于本地临时表:

当表前面有一个“#”号时,它被定义为本地临时表,其范围仅限于创建它的会话。

关于全局临时表:

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

所以你应该尝试使用“##”来创建一个全局临时表。(如果“连接上下文”和“会话”有区别)

于 2009-04-10T18:26:54.107 回答