使用 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)
IF...ELSE (Transact-SQL)