关于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

结果
-------

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

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03