---
title: 流程控制
date: 2024-06-06T23:51:44Z
tags: []
---


## WHILE AND IF...ELSE

````sql
WHILE 条件
BEGIN
    -- 代码块

    IF 某条件
    BEGIN
        BREAK; -- 退出循环
    END
    ELSE IF 另一条件 -- 使用 ELSE IF 来处理另一个条件
    BEGIN
        CONTINUE; -- 跳过当前迭代的剩余代码
    END

    -- 更多代码
END

## TRY...CATCH
```
BEGIN TRY
    -- 可能引发错误的代码
END TRY
BEGIN CATCH
    RAISEERROR('错误消息', 严重程度, 状态); -- 处理错误的代码
END CATCH
BEGIN CATCH
    THROW 51000, '自定义错误消息', 1; -- 处理错误的代码
END CATCH
````

## CASE

````sql
case
    when 条件 then 结果
    when 条件 then 结果
    else 结果
end
````
