gpt4 book ai didi

SQL 设置变量以选择结果

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

我想知道是否可以将声明的变量设置为选择结果的返回值?像这样的东西:

@WatchedSeconds
SET @WatchedSeconds = 200
DECLARE @SelectedVideo int
SET @SelectedVideo = (SELECT TOP 1 * FROM Video v WHERE v.VideoID = 12)

IF @SelectedVideo IS NOT NULL
BEGIN
IF @SelectedVideo.VideoLength = @WatchedSeconds
BEGIN
--DO SOMETHING
END
IF @SelectedVideo.SomeOtherColumn = @SomethingElse
BEGIN
END
END

它用于在 Stored Procedure 中的多个位置使用 SELECT 结果中的一些信息。我知道我可以将一个变量设置为例如一个整数,并将其设置为选定的结果,如果它返回一个整数,例如:

DECLARE @VideoSeconds int
SET @VideoSeconds = (SELECT v.Length FROM Video v WHERE v.VideoID = @VideoID)

如果我需要使用 Video 结果中的更多值,我必须创建多个变量和多个 SELECT 调用。而这正是我想要避免的。

最佳答案

您只需运行即可完成此操作:

SELECT @videoSeconds = v.Length FROM Video v WHERE v.VideoID = @VideoID

以免添加SET部分。

此外,您必须确保查询仅返回 1 行,否则会产生错误。

关于SQL 设置变量以选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32138042/

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