SQL Server GOTO 语句用于改变程序的流程。当执行到达 GOTO 语句时,它将无条件地跳转到其中指定的标签。
GOTO 语句的语法如下所示。
GOTO label ........ ........ label: statements
goto 语句后指定的标签是我们放置要执行代码的位置。
SQL Server Goto 语句示例
此程序将使用 Goto 语句检查人员是否及格或不及格。
提示:与 Break 和 Continue 不同,GOTO 语句不需要任何 If 条件即可执行。
DECLARE @TotalMaarks INT SET @TotalMaarks = 49 IF @TotalMaarks >= 50 GOTO Pass IF @TotalMaarks < 50 GOTO Fail Pass: PRINT ' Congratulations ' PRINT ' You pass the Examination ' RETURN Fail: PRINT ' You Failed! ' PRINT ' Better Luck Next Time ' RETURN GO

让我们将 @TotalMarks 值替换为 76,并将第二个 If 条件替换为 ELSE 块。
IF @TotalMaarks >= 50 GOTO Pass ELSE GOTO Fail

在上述 SQL Server 代码中,我们使用了 Pass 和 Fail 标签。首先,我们声明了整数变量 @Totalmarks 并为其赋值 49。
DECLARE @TotalMaarks INT SET @TotalMaarks = 49
在下一行中,我们使用 IF ELSE 来检查 @Totalmarks 是否大于或等于 50。
IF @TotalMaarks >= 50
如果上述条件为 TRUE,则 If 块内的 Sql Server Goto 语句将把执行转移到 Pass 标签并执行 Pass 标签内的打印消息。
PRINT ' Congratulations ' PRINT ' You pass the Examination '<br>
当条件为 FALSE(执行 Else 块)时。这意味着 Else 块将把执行转移到 Fail 标签并执行其中的消息。
PRINT ' You Failed! ' PRINT ' Better Luck Next Time '
注意:尽管支持 GOTO,但始终建议避免使用它,或者至少尽量减少其使用。