Mar*_*ith 44
您可以声明标签不执行任何操作.
DECLARE @value INT
IF @value IS NULL
BEGIN
no_op1:
END
Run Code Online (Sandbox Code Playgroud)
JM.*_*JM. 11
丑陋有时发生.我相信他们是有效的用途.在具有多个if else语句的冗长/复杂的决策分支结构中,其中一些语句可能包含您特别不希望采取任何操作的条件.某些工作已完成,您也不希望这些条件通过默认情况下执行.在这种情况下,它是一个有效的用途.
这有两种方法 - 见B和C.
Declare @status as char(1)
set @status = 'D'
If (@status = 'A')
select 'Great!'
Else if (@status = 'B')
begin
if null=null select null -- predicate never resolves true
end
Else if (@status = 'C')
set @status = @status -- set a variable to itself
Else
select 'Needs work!'
Run Code Online (Sandbox Code Playgroud)
请注意,这是一个过于简化的示例.当条件复杂时,最好用于可读性.
我也相信有时候合法使用无脚本(例如自动生成的脚本).
虽然这是一个老线程,但我会把我的两分钱.我认为声明变量是您可以使用的最良性的陈述之一.该声明甚至没有出现在执行计划中:
IF (@variable = 0)
BEGIN
DECLARE @placeHolder BIT;
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15588 次 |
| 最近记录: |