问题标签 [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.
tsql - 如何将存储过程中的字段子集添加到表变量?
我收到以下错误:“列名或提供的值的数量与表定义不匹配。”
是否有一种简单的方法可以从 GetData 获取子集,而无需显式声明表变量声明中的所有字段?
sql-server - 使用表变量时,公用表表达式变慢
我一直在尝试以下(简化的)CTE。使用表变量 () 时,查询会在我取消之前运行几分钟。任何其他被注释掉的方法都会在不到一秒的时间内返回。
如果我用 INNER JOIN 替换整个 WHERE 子句,它也很快。
任何想法为什么使用表变量会运行得这么慢?
FWIW:数据库包含 250 万条记录,内部查询返回 2 条记录。
这是从使用表变量时开始的。查询运行时间超过 17 分钟:
XML 格式的执行计划
临时表:https ://docs.google.com/open?id=0B66I-fxlyEtEZEthV3ZaWlNLWXM
表变量:https ://docs.google.com/open?id=0B66I-fxlyEtEbUFZa3RJejFCTkk
sql-server - 立即执行的 SELECT 语句,需要永远插入表变量
我在下面有以下 SQL 代码。完成需要很长时间,但如果我只运行SELECT DISTINCT ID, ParentID FROM Y WHERE ID IN (3,4)
,它会立即完成。
这是怎么回事,这毫无意义。
sql - 在 SQL 中返回或输出 @tableVariable
是否可以在 SQL Server 中返回或输出 @tableVariable?
例如对于以下存储过程,如何返回 @TSV 表变量?
sql - 使用表变量将多行插入 SQL Server 表
我目前正在使用 SQL Server 2008,并且正在尝试使用表变量创建一个语句以将多行插入表中。就目前而言,我必须在 4 个不同的位置(2 个选择语句、1 个插入和 1 个更新)插入要添加的信息,但希望能够创建一个表变量,所以我只需要输入信息一次。任何帮助/建议将不胜感激。
这是我试图改变的一个例子。
sql - 从表变量中获取列的确定名称
我可以这样声明一个表变量:
如果我随后执行以下命令,我会看到类似于以下内容的表名:“#468862B0”
如果我立即执行:
我看到了我在上面为表变量声明的列。
我的问题是,有没有办法将这些列与我在“@tv_source”上方的表声明中声明的名称明确关联?
在普通表中,您会看到实际名称,但如上所述,表变量会变形为十六进制值(顺便说一句,它是 object_id 的十六进制值)。
sql-server-2005 - 是否可以使用游标遍历表变量?
在 SQL Server 2005 中,是否可以使用游标遍历表变量?
c# - 将表列值存储到变量中(SQL Server)
我已经被这个问题困扰了一段时间:我试图在特定条件下从表(数据库)中的列中保存一个值。
在下面的代码中,我试图将文本框 (sUserName) 的输入与表 (aspnet_Membership) 中的列 (UserName) 中的值进行比较。如果这些值相等,我想在列中获取特定的电子邮件值并将其保存为字符串变量。
如果 UserName(列)不等于 sUserName(文本框),那么我想显示一条错误消息(else 语句)。电子邮件和用户名列在同一个表中
sql - 非常慢的 DELETE 查询
我遇到了 SQL 性能问题。由于突然的原因,以下查询非常慢:
我有两个列表,其中包含某个表的 ID。如果 ID 已存在于第二个列表中,我需要从第一个列表中删除所有记录:
这两个列表可能包含超过 10.000 条记录。在这种情况下,两个查询的执行时间都超过 20 秒。
执行计划也显示了一些我不明白的地方。也许这解释了为什么它这么慢:
我用 10.000 个连续整数填充了两个列表,因此两个列表都包含值 1-10.000 作为起点。
如您所见,@IdList2 的两个查询显示实际行数为 50.005.000 !!。@IdList1 是正确的(实际行数为 10.000)
我知道还有其他解决方案如何解决这个问题。就像填写第三个列表而不是从第一个列表中删除一样。但我的问题是:
为什么这些删除查询这么慢,为什么我会看到这些奇怪的查询计划?
merge - 如何在 SQL Server 中使用变量创建 MERGE 语句
我正在尝试创建一个包含merge
语句的存储过程。我希望该merge
语句能够使用该变量@TargetTable
作为目标,但它要求我提供一个表变量。这是我的代码:
我尝试通过@TargetTable
作为数据之一传递来使用表变量,并认为可以@TargetTable
从临时表中使用,但我不知道如何编写代码
我只看到了说明目标表而不是变量的示例。
有没有办法做到这一点?
提前致谢