IF 语句用于条件的测试。结果流的控制取决于是否指定了可选的 ELSE 语句:
IF 语句取值为 TRUE 时,执行 IF 语句后的语句或语句块。IF 语句取值为 FALSE 时,跳过 IF 语句后的语句或语句块。
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