使用 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)。