SQL 流程控制

1、语句块

允许嵌套,可包含一组命令

BEGIN
    { sql_statement | statement_block }

    -- 单行注释

    /*  多行注释  */
END

2、IF ELSE

IF Boolean_expression

   { sql_statement | statement_block }

[ ELSE

    { sql_statement | statement_block }

]

3、CASE 函数

CASE input_expression
    WHEN when_expression THEN result_expression
    [ ...n ]
    [ ELSE else_result_expression ]
END
CASE
    WHEN Boolean_expression THEN result_expression
    [ ...n ]
    [ ELSE else_result_expression ]
END

3、WHILE 循环

WHILE Boolean_expression

begin

    { sql_statement | statement_block }

    [ BREAK ] -- 退出循环

    { sql_statement | statement_block }

    [ CONTINUE ] -- 立即进行下次循环

end

4、WAITFOR 等待

WAITFOR { DELAY 'time' | TIME 'time' }
参数 意义
DELAY 'time' 设置延迟一段时间后继续执行
TIME 'time' 设置到达指定时间后继续执行

5、其他

语句 意义
label: 设置标签
GOTO label 转到标签处执行
BREAK 退出内层 WHILE 循环
CONTINUE 继续下次 WHILE 循环
RETURN 退出过程、查询等
GO 立即执行从开头位置或上个 GO 之后的命令