当前位置: 首页 > 面试题库 >

SQL选择一行并存储在SQL变量中

傅志诚
2023-03-14
问题内容

因此,我正在编写此存储过程,而且我真的很喜欢SQL。

我对你们的问题是:

我可以选择整行并将其存储在变量中吗?

我知道我可以做类似的事情:

declare @someInteger int
select @someInteger = (select someintfield from sometable where somecondition)

但是我可以从中选择整行sometable并将其存储在变量中吗?


问题答案:

您可以将字段选择为多个变量:

DECLARE @A int, @B int

SELECT
  @A = Col1,
  @B = Col2
FROM SomeTable
WHERE ...

另一种可能更好的方法是使用表变量:

DECLARE @T TABLE (
  A int,
  B int
)
INSERT INTO @T ( A, B )
SELECT
  Col1,
  Col2
FROM SomeTable
WHERE ...

然后,您可以像常规表一样从表变量中进行选择。



 类似资料:
  • 问题内容: 我想获取特定的列值a.id并将其存储到变量v_id中。然后使用此值传递到存储过程。 我在Oracle SQL Developer中收到此错误: 错误报告:ORA-06550:第3行,第7列:PLS-00103:遇到以下情况之一时遇到了符号“ V_ID”: :=。(@%;用符号“:=”代替“ V_ID”才能继续。06550. 00000-“行%s,列%s:\ n%s” *原因:通常是PL

  • 问题内容: 我想知道是否有一种方法可以在SQL Server2008中存储单引号。我正在构建多个报告,并且所有这些报告都完全相同,只是它们只是在我选择的代码上有所不同。例如,一个报告使用代码“ abc”,“def”,“ ghi”,另一报告使用代码“ jkl”,“ mno”,“ pqr”。我当时在考虑减少必须执行的存储过程的数量,我可以在报表上输入一个参数来选择要运行哪种类型的报表。基于此,我将使用

  • 问题内容: 我得到了一个带有自动公司常规设置的桌子。ID。一些行已被删除,因此ID列表可能如下所示: (1,2,3,5,8,…) 然后,从另一个来源( 编辑:另一个来源=数据库中不存在 ),我得到了这个数组: (1、3、4、5、7、8) 我正在寻找我可以在数据库上使用的查询,以从我拥有的数组中获取表中未包含的ID:s的列表。可能是: (4、7) 是否存在?我现在的解决方案是创建一个临时表,以便命令

  • 问题内容: 我在表中有三列:id,街道名称,计数。对于某些ID,不只是一个街道名称。Count告诉将每条街道分配给ID的频率。我怎样才能只获得编号最高的ID和街道名称。 表格示例: 结果应该是这样的: 提前致谢! 问题答案: 您没有指定正在使用的数据库,但是应该可以使用以下数据库: 请参阅带有演示的SQL Fiddle 。注意,您将必须使用MySQL的反引号或数据库使用的任何字符来转义保留字来转义

  • 问题内容: 一次选择是否可以更新多个局部变量? 就像是: 对像此任务这样琐碎的事情进行两个单独的选择操作似乎有点浪费: 问题答案: 像这样的东西:

  • 因此,为了测试我的搜索结果是否因我输入的关键字而异,我想在键入关键字之前存储搜索结果的节点列表,然后将它们与添加关键字后得到的搜索结果的节点列表进行比较,但我无法使其起作用。 我试过: 然而,这并没有给我一个节点。我还试图使用一个带有的clientFunction,但是TestCafe然后告诉我使用Selector。 要怎么做?有没有更好的方法来测试这个,我没看到?