(复习笔记之数据库)数据库流程控制语句

这里只是介绍BEGIN...END、IF...ELSE、CASE、WHILE这四个比较常用的流程控制语句

BEGIN...END

IF 1=1
BEGIN
SELECT * FROM zhuisuo WHERE id=1
SELECT * FROM zhuisuo WHERE id=2
END
ELSE 
SELECT * FROM zhuisuo WHERE id=2


如果上面少了BEGIN...END就会报错,BEGIN...END就是定义语句块,BEGIN和END必须成对出现

IF...ELSE

IF 1=2
SELECT * FROM zhuisuo WHERE id=1
ELSE IF 1=2
SELECT * FROM zhuisuo WHERE id=2
ELSE 
SELECT * FROM zhuisuo WHERE id=3

值得注意的是IF后面是逻辑表达式,然后是语句块

CASE

SELECT * FROM zhuisuo WHERE id=
CASE zhuisuo.id/1
WHEN 1 THEN 1
WHEN 2 THEN 2
WHEN 3 THEN 3
ELSE 4
END
值得注意的是,CASE不是语句,它不能单独执行,而是作为语句的一部分来使用

WHILE

DECLARE @a int
SET @a=1
WHILE @a<3
BEGIN
INSERT INTO zhuisuo2 VALUES(15+@a,'132')
SET @a=@a+1
END

用法没什么特别的地方,值得注意的是可以使用BREAK和CONTINUE控制循环的流程,这表示如果WHILE里面可以灵活使用IF语句,作多重循环判断
来一个有点复杂的示例,题目是在zhuisuo表中,从id=1开始,把name改为‘修改’,直到name为‘追索5’并把‘追索5’的name改为‘完成’
DECLARE @a int
SET @a=1
WHILE (SELECT COUNT(id) FROM zhuisuo)>@a
BEGIN
IF (SELECT name FROM zhuisuo WHERE id=@a)='追索5'
BEGIN
UPDATE zhuisuo SET name='完成' WHERE id = @a
BREAK
END
ELSE
UPDATE zhuisuo SET name='修改' WHERE id = @a
SET @a=@a+1
END
数据库的基本就复习到先这里,当然还有运算符的使用(不必记太多,记住几个常用的,其他可以使用时查),游标的使用等等。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值