sql的循环,判断,跳转语句
2016-01-30 10:15
489 查看
循环语句:
while
while 布尔表达式(循环的条件) do 循环体(语句用分号标记结束) end while
repeat
repeat 循环体(语句用分号标记结束) until 布尔表达式(停止循环的条件) end repeat
loop
循环标签 : loop 循环执行语句; end loop 循环标签
LEAVE语句用来退出任何被标注的流程控制语句,语法如下:
LEAVE label;
ITERATE语句将执行顺序转到语句段开头处,ITERATE只可以出现在 LOOP、REPEAT和WHILE语句内。语法如下:
ITERATE label;
以上两个语句只能在循环中使用
下面分别演示使用三种循环对1到100求和
whilemysql>delimter // mysql> create function sum100() -> returns int -> begin -> declare sum int default 0; -> declare i int default 0; -> while i <= 100 do -> set sum = sum + i; -> set i = i + 1; -> end while; -> return sum; -> end -> //
repeat
mysql> create function sum100() -> returns int -> begin -> declare sum int default 0; -> declare i int default 0; -> repeat -> set sum = sum + i; -> set i = i + 1; -> until i > 100 -> end repeat; -> return sum; -> end -> //
loop
mysql> create function sum100() -> returns int -> begin -> declare sum int default 0; -> declare i int default 0; -> lpl : loop -> set sum = sum + i; -> set i = i + 1; -> if i > 100 -> then leave lpl; -> end if; -> end loop lpl; -> return sum; -> end -> //
判断语句:
if 布尔表达式 then 语句 elseif 布尔表达式 then 语句 else 语句 end if
条件跳转语句:
case 判断的变量 when 一个值 then 执行语句; when 一个值 then 执行语句; when 一个值 then 执行语句; else 执行语句; end case
case 语句的示例:(注意与select中的case语句不一样)
mysql> create function trans(a int) -> returns char -> begin -> case a -> when 1 then return 'A'; -> when 2 then return 'B'; -> when 3 then return 'C'; -> else return '+'; -> end case; -> end ->//
赋值语句
对于赋值语句同样可使用select a into b;
等同与
set b = a;
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- Ruby基础知识之基本流程控制
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器