存储过程之三—语句
来源:互联网 发布:union软件下载 编辑:程序博客网 时间:2024/06/15 13:06
一、 IF ELSE
if else 类似选择结构的语句,类似于编程语言中的if else。语法如下:
IF 表达式 THEN 执行语句
[ELSEIF 表达式 THEN 执行语句]
[ELSE 执行语句]
END IF;
根据分数打印等级,代码如下:
DROP PROCEDURE IF EXISTS proc_test_statement;CREATE PROCEDURE proc_test_statement( IN num INT(11), OUT result VARCHAR(255) )BEGIN IF(num >= 80) THEN SET result='优秀'; ELSEIF (num >= 70) THEN SET result='良好'; ELSEIF (num >= 60 ) THEN SET result='及格'; ELSE SET result='不及格'; END IF;END;CALL proc_test_statement(90,@n);SELECT @n;
执行结果如下:
二、 CASE
case 类似于编程语言中的switch...case。语法如下:
CASE 表达式
WHEN 表达式 THEN 执行语句
WHEN 表达式 THEN 执行语句
ELSE 执行语句
END CASE;
打印字母对应的等级,代码如下:
DROP PROCEDURE IF EXISTS proc_test_case;CREATE PROCEDURE proc_test_case( IN scode VARCHAR(255), OUT result VARCHAR(255) )BEGIN CASE scode WHEN 'A' THEN SET result='优秀'; WHEN 'B' THEN SET result='良好'; WHEN 'C' THEN SET result='及格'; ELSE SET result='不及格'; END CASE;END;CALL proc_test_case('D', @result);SELECT @result;
执行结果如下:
三、 WHILE
while语句类似于编程语言中的while语句。语法如下:
WHILE 表达式 DO
执行语句
END WHILE
从1加到某个数,代码如下:
DROP PROCEDURE IF EXISTS proc_test_while;CREATE PROCEDURE proc_test_while( IN time int(11), OUT result int(11) )BEGIN DECLARE n INT DEFAULT 1; SET result = 0; WHILE (n <= time) DO SET result = result + n; SET n = n + 1; END WHILE;END;CALL proc_test_while(100, @result);SELECT @result;
执行结果如下:
四、REPEAT
pepeat 语句类似于程序语言中的do...while语句,语法如下:
REPEAT
执行语句;
UNTIL 表达式
END REPEAT
从1加到某个数,代码如下:
DROP PROCEDURE IF EXISTS proc_test_pepeat;CREATE PROCEDURE proc_test_pepeat( IN time int(11), OUT result int(11) )BEGIN DECLARE n INT DEFAULT 1; SET result = 0; REPEAT SET result = result + n; SET n = n + 1; UNTIL (n > time) END REPEAT;END;CALL proc_test_pepeat(100, @result);SELECT @result;
结果如下:
五、LOOP 及 LEAVE、ITERATE
loop的使用 要结合leave 和 iterate。loop 标志位无条件循环,leave 类似于break 语句,跳出循环,跳出 begin end,iterate 类似于continue ,结束本次循环。
求某个数以内的偶数和,代码如下:
阅读全文
0 0
- 存储过程之三—语句
- Database之三 存储过程
- 【mysql 存储过程】存储过程之流程控制语句
- LINQ to SQL语句之存储过程
- mysql 存储过程之if语句
- ORACLE存储过程实战之三:进阶
- MySQL之存储过程(三)
- ORACLE存储过程(三)之package
- MyBatis 示例之存储过程(三)
- 存储过程,触发器,游标,if语句,三种循环
- 存储过程的语句
- 简单存储过程语句
- 存储过程常用语句
- oracle存储过程语句
- 存储过程语句
- 查看存储过程语句
- 创建存储过程语句
- 存储过程常用语句
- Android Studio连接海马玩模拟器
- 图像识别利器
- appium webview H5 测试
- Spring 3使用@Value
- angularjs输入框不允许输入空格
- 存储过程之三—语句
- 内置机械键盘游戏本,你要选iFunk S
- Redis
- Android 中 getsysytemservice之searchManager
- hls协议介绍--live模式和vod模式讲解
- IP地址获取接口
- 文件处理命令cat
- 单片机按键扫描
- R-FCN训练自己的模型