问题标签 [table-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
387497 浏览

sql-server - SQL Server 中的临时表和表变量有什么区别?

在 SQL Server 2005 中,我们可以通过以下两种方式之一创建临时表:

或者

这两者有什么区别?关于@tmp 是否仍然使用 tempdb,或者一切都发生在内存中,我已经阅读了相互矛盾的意见。

在哪些情况下,其中一种表现优于另一种?

0 投票
5 回答
66944 浏览

sql-server - 如何为 T-SQL 表变量中的标识列重新设定种子?

我有一个 T-SQL表变量(不是表),它有一个自动递增的标识列。我想清除该变量中的所有数据并将标识列值重置为 1。如何做到这一点?

0 投票
3 回答
95883 浏览

sql-server - TSQL 定义临时表(或表变量)而不定义模式?

有没有办法在不预先定义它的模式的情况下定义一个临时表?

0 投票
3 回答
2405 浏览

tsql - 使用左连接和表变量删除

也许我缺少一个括号或其他东西,但我很难从我要加入的表变量中删除行并寻找我要加入的键。如果它有价值,那么我就摆脱它。问题是我无法解析查询。有任何想法吗?

0 投票
3 回答
372340 浏览

sql - 在表变量上创建索引

您可以在 SQL Server 2000 中的表变量上创建索引吗?

IE

我可以在 上创建索引Name吗?

0 投票
4 回答
2362 浏览

sql-server - 使用表函数优化多个连接

我想在同一个查询中为不同的输入变量多次加入同一个表函数。但在我的情况下,这比使用表变量和分别从表函数中选择要慢得多。

我怎样才能避免表变量并且仍然有一个快速查询?

例如,我们有一个 SQL 查询,如

但它比从函数中分别选择到变量中然后再加入要慢得多,例如:

这可能是什么原因?有没有办法可以快速查询并避免表变量?


更多细节:

这只是一个类似于我正在做的例子,但该函数fn_ProjectNumber(@date datetime)将包含四个表之间的连接之类的东西......

0 投票
3 回答
4562 浏览

sql-server - 在存在语句中使用表变量

我正在尝试根据条件更新表变量内的列,条件是表变量的 ID 在不同的表中不存在:

当我尝试编译具有这些语句的过程时,我收到“必须声明标量变量”@BugRep”消息。

如何在 NOT EXISTS 子句中使用表变量?

我正在使用 SQL Server 2008

0 投票
11 回答
156763 浏览

sql - 我可以遍历 T-SQL 中的表变量吗?

无论如何要遍历 T-SQL 中的表变量吗?

我也使用游标,但游标似乎不如表变量灵活。

我希望能够以与游标相同的方式使用表变量。这样,我可以在过程的一部分中对表变量执行一些查询,然后为表变量中的每一行执行一些代码。

任何帮助是极大的赞赏。

0 投票
4 回答
10493 浏览

sql-server - 表变量在 SQL Server 存储过程中插入时性能不佳

我们在存储过程中使用表变量时遇到性能问题。

这是实际发生的情况:

SELECT 返回 138 个结果,但插入 TABLE 变量需要 1min15 但是当我使用具有相同 SELECT 的临时表时,woops 需要 0sec:

什么可能导致这种行为?

0 投票
4 回答
2633 浏览

sql - 读取表变量的查询能否在 SQL Server 2008 中生成并行执行计划?

首先,来自BOL

修改变量的查询不会生成并行查询执行计划。修改非常大的表变量或复杂查询中的表变量时,性能可能会受到影响。在这些情况下,请考虑改用临时表。有关详细信息,请参阅创建表 (Transact-SQL)。读取变量而不修改它们的查询仍然可以并行化。

这似乎很清楚。读取表变量而不修改它们的查询仍然可以并行化。

但后来在SQL Server Storage Engine上,另一个有名的消息来源,Sunil Agarwal 在 2008 年 3 月 30 日关于 tempdb 的一篇文章中说:

涉及表变量的查询不会生成并行计划。

Sunil 是在解释 BOL re: INSERT,还是 FROM 子句中存在表变量会阻止并行性?如果是这样,为什么?

我正在特别考虑控制表用例,其中您将一个小控制表连接到一个较大的表,以映射值,充当过滤器,或两者兼而有之。

谢谢!