首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于GOTO 的用法,求详解解决方案

2013-09-06 
关于GOTO 的用法,求详解DECLARE @Count intSET @Count1WHILE @Count 10BEGINPRINT @CountSET @Count

关于GOTO 的用法,求详解

DECLARE @Count int;
SET @Count=1;
WHILE @Count < 10
BEGIN
PRINT @Count;
SET @Count = @Count + 1
IF @Count = 4 GOTO Branch_ONE
IF @Count = 5 GOTO Branch_Two
END
Branch_ONE:
PRINT 'Jumping To Branch One'
GOTO Branch_Three;
Branch_TWO:
PRINT 'Jumping To Branch Two'
Branch_THREE:
PRINT 'Jumping To Branch Three'

[解决办法]
将执行流更改到标签处。  跳过 GOTO 后面的 Transact-SQL 语句,并从标签位置继续处理。 GOTO 语句和标签可在过程、批处理或语句块中的任何位置使用。 GOTO 语句可嵌套使用。


IF @Count = 4 GOTO Branch_ONE 当@Count = 4 执行
Branch_ONE:
    PRINT 'Jumping To Branch One'
    GOTO Branch_Three;

然后再跳到Branch_Three执行。

不过不建议在SQL中这样跳来跳去。
[解决办法]
建议少用GOTO语句
[解决办法]
引用:
Quote: 引用:

将执行流更改到标签处。  跳过 GOTO 后面的 Transact-SQL 语句,并从标签位置继续处理。 GOTO 语句和标签可在过程、批处理或语句块中的任何位置使用。 GOTO 语句可嵌套使用。


IF @Count = 4 GOTO Branch_ONE 当@Count = 4 执行
Branch_ONE:
    PRINT 'Jumping To Branch One'
    GOTO Branch_Three;

然后再跳到Branch_Three执行。

不过不建议在SQL中这样跳来跳去。
好的,以后尽量不使用GOTO,现在是新手上路,正在学习。执行完GOTO,是不是就不执行WHILE 循环了?

在执行到3之后就跳出WHILE循环了
[解决办法]
GOTO 最合理的使用建议类似于程序开发时抛出异常一样, 譬如定义一个error标签,只要有错误就goto到error标签。

热点排行