gpt4 book ai didi

sql - 从select语句分配变量

转载 作者:行者123 更新时间:2023-12-01 02:48:52 25 4
gpt4 key购买 nike

哪个是正确的语法?

DECLARE @TotalRows INT
SET @TotalRows = (SELECT COUNT(*) FROM MyTable WHERE MyID = Value)

或者
DECLARE @TotalRows INT
SELECT @TotalRows = COUNT(*) FROM MyTable WHERE MyID = Value

它甚至重要吗?

最佳答案

Difference between set vs select

  • SET 是变量赋值的 ANSI 标准,SELECT 不是。
  • SET 一次只能赋值一个变量,SELECT 可以一次赋值多个。
  • 如果从查询分配,SET 只能分配一个标量值。如果查询返回多个值/行,则 SET 将引发错误。 SELECT 会将其中一个值分配给变量并隐藏返回多个值的事实(因此您可能永远不会知道为什么其他地方出了问题 - 解决那个问题很有趣)
  • 当从查询分配时,如果没有返回值,则 SET 将分配 NULL,其中 SELECT 根本不会进行分配(因此变量不会从其先前的值更改)
  • 至于速度差异 - SET 和 SELECT 之间没有直接差异。然而,SELECT 能够一次性完成多个任务,这确实使它比 SET 具有轻微的速度优势。
  • 关于sql - 从select语句分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6248026/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com