关于SQL 存储过程入门基础(流程控制)

这里我们讲一下存储过程的流程控制,if else,case,while,这里没有for循环的 ,这些跟c,c++,c#等语言都差不过的。

一,首先来看if else使用

代码如下:
if 条件
begin
sql 语句
end
else begin
sql语句
end

看个简单例子
代码如下:
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

结果我想大家都该晓得了,就不写出来了,这里的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
结果
-----------

三,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

结果
-------

上面的这些基本流程控制,基本能满足我们日常的开发需求了,暂时想到的就这么多了,哪天想起其他情况,会适当补充。

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...