gpt4 book ai didi

sql - 使用 SQL Server 中的条件从存储过程中调用存储过程的正确语法是什么

转载 作者:行者123 更新时间:2023-12-01 10:56:03 26 4
gpt4 key购买 nike

我在从存储过程中调用存储过程时弄乱了条件语句。谁能帮帮我?

    CREATE PROCEDURE [dbo].[sp_Leaderboard] 

@CompetitionId INTEGER

AS

DECLARE @Competition TABLE
(CompId INTEGER,
CompFormat NVARCHAR(10)
)
INSERT INTO @Competition
SELECT CompetitionId, CompetitionFormatType
FROM dbo.Competitions
LEFT JOIN dbo.CompetitionFormat ON dbo.Competitions.CompetitionFormatId = dbo.CompetitionFormat.CompetitionFormatId
WHERE CompetitionId = @CompetitionId


CASE WHEN @Competition.CompFormat = "Strokes" THEN EXEC [dbo].[sp_Strokes] ELSE EXEC [dbo].[sp_Stableford]

此外,我知道我的代码中没有满足的一点是,我还需要将参数@CompetitionId 带入我执行的任何过程。

最佳答案

为什么不直接使用 IF 语句呢?

IF (SELECT TOP 1 CompFormat FROM @Competition) = 'Strokes'
BEGIN
EXEC [dbo].[sp_Strokes] @CompetitionId
END
ELSE
BEGIN
EXEC [dbo].[sp_Stableford] @CompetitionId
END

关于sql - 使用 SQL Server 中的条件从存储过程中调用存储过程的正确语法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15047184/

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