使用 IF...ELSE

IF 语句用于条件的测试。得到的控制流取决于是否指定了可选的 ELSE 语句:

  • 指定 IF 而无 ELSE

    IF 语句取值为 TRUE 时,执行 IF 语句后的语句或语句块。IF 语句取值为 FALSE 时,跳过 IF 语句后的语句或语句块。

  • 指定 IF 并有 ELSE

    IF 语句取值为 TRUE 时,执行 IF 语句后的语句或语句块。然后控制跳到 ELSE 语句后的语句或语句块之后的点。IF 语句取值为 FALSE 时,跳过 IF 语句后的语句或语句块,而执行可选的 ELSE 语句后的语句或语句块。

例如,如果存储过程一直保存事务中 @@ERROR 返回的错误代码,则过程结尾可能有与以下语句相似的 IF 语句:

IF (@ErrorSaveVariable <> 0)
BEGIN
   PRINT 'Errors encountered, rolling back.'
   PRINT 'Last error encountered: ' +
      CAST(@ErrorSaveVariable AS VARCHAR(10))
   ROLLBACK
END
ELSE
BEGIN
   PRINT 'No Errors encountered, committing.'
   COMMIT
END
RETURN @ErrorSaveVariable

有关更多示例,请参阅 ELSE (IF...ELSE) (Transact-SQL)

请参阅

参考