SQL GOTO 语句

SQL Server GOTO 语句用于改变程序的流程。当执行到达 GOTO 语句时,它将无条件地跳转到其中指定的标签。

GOTO 语句的语法如下所示。

GOTO label
........
........

label:
  statements

goto 语句后指定的标签是我们放置要执行代码的位置。

SQL Server Goto 语句示例

此程序将使用 Goto 语句检查人员是否及格或不及格。

提示:与 BreakContinue 不同,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
GOTO Statement 1

让我们将 @TotalMarks 值替换为 76,并将第二个 If 条件替换为 ELSE 块。

IF @TotalMaarks >= 50
	GOTO Pass
ELSE
	GOTO Fail
GOTO Statement 2

在上述 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,但始终建议避免使用它,或者至少尽量减少其使用。