这里我们讲一下存储过程的流程控制,if else,case,while,这里没有for循环的 ,这些跟c,c++,c#等语言都差不过的。
一,首先来看if else使用
代码如下:
看个简单例子
代码如下:
declare @id int --声明个变量
set @id=5 --设置厨初始值
if(@id=1)
begin
print 'right'
end
else if(@id=0)
begin
print 'error'
end
else
begin
print 'default'
end
set @id=5 --设置厨初始值
if(@id=1)
begin
print 'right'
end
else if(@id=0)
begin
print 'error'
end
else
begin
print 'default'
end
结果我想大家都该晓得了,就不写出来了,这里的begin,end 也可以不写,不过建议写,这个像c++代码的{},表示一块,写出来层次更加清晰。
当然if 嵌套也是可以的。
二,While的使用
我们来计算下1到100的求和运算
代码如下:
Declare @i int,@sum int
set @i=0
set @sum=0
while @i<=100 --开始循环
begin
set @i=@i+1 --自增一
set @sum=@sum+@i
end
print @sum
结果
-----------
set @i=0
set @sum=0
while @i<=100 --开始循环
begin
set @i=@i+1 --自增一
set @sum=@sum+@i
end
print @sum
结果
-----------
三,Case 多重选择的使用
代码如下:
Declare @iret int,@var varchar(10)
set @var='A'
select @iret=
case when @var='A' then 0
when @var='B' then 1
when @var='C' then 2
when @var='D' then 3
else -1
print @iret
set @var='A'
select @iret=
case when @var='A' then 0
when @var='B' then 1
when @var='C' then 2
when @var='D' then 3
else -1
print @iret
结果
-------
上面的这些基本流程控制,基本能满足我们日常的开发需求了,暂时想到的就这么多了,哪天想起其他情况,会适当补充。