gpt4 book ai didi

sql - 单个 IF 语句中的多个条件

转载 作者:行者123 更新时间:2023-12-02 13:18:31 30 4
gpt4 key购买 nike

我想在 SQL 中的单个 IF 语句中添加多个条件。

我不太擅长 SQL,引用了一些示例,所有示例都只显示 IF 中的一个条件。

这是我的程序。

CREATE PROCEDURE [dbo].[AddApplicationUser]    
(
@TenantId BIGINT,
@UserType TINYINT,
@UserName NVARCHAR(100),
@Password NVARCHAR(100)
)

AS

BEGIN

IF ((@TenantId IS NULL) AND (@UserType=0 OR @UserType=1) )
RAISERROR('The value for @TenantID should not be null', 15, 1) -- with log

对于 IF 中的多条件,SQL 中的语法是否正确?

最佳答案

是的,这是有效的语法,但它很可能不会达到您想要的效果。

执行将在您的 RAISERROR 之后继续,除非您添加 RETURN。因此,您需要添加一个带有 BEGIN ... END 的 block 来保存这两个语句。

另外,我不知道你为什么选择严重程度 15。那个 usually indicates a syntax error .

最后我会使用 IN 简化条件

CREATE PROCEDURE [dbo].[AddApplicationUser] (@TenantId BIGINT,
@UserType TINYINT,
@UserName NVARCHAR(100),
@Password NVARCHAR(100))
AS
BEGIN
IF ( @TenantId IS NULL
AND @UserType IN ( 0, 1 ) )
BEGIN
RAISERROR('The value for @TenantID should not be null',15,1);

RETURN;
END
END

关于sql - 单个 IF 语句中的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429983/

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