博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql存储过程和存储过程中循环小结
阅读量:7144 次
发布时间:2019-06-29

本文共 1442 字,大约阅读时间需要 4 分钟。

直接上内容

第一:存储过程中CASE 条件

 

 
  1. CREATE PROCEDURE p_case(IN parameter1 INT
  2. BEGIN 
  3.     DECLARE variable1 INT
  4.     SET variable1 = parameter1 + 1; 
  5.     CASE variable1 
  6.         WHEN 0 THEN INSERT INTO t VALUES(0); 
  7.         WHEN 1 THEN INSERT INTO t VALUES(1); 
  8.         ELSE INSERT INTO t VALUES(2); 
  9.     END CASE
  10. END

LOOPS 循环

【一】WHILE...END WHILE
【二】LOOP...END LOOP
【三】REPEAT...END REPEAT
【四】GOTO

一:WHILE...END WHILE

 
  1. CREATE PROCEDURE p_while() 
  2. BEGIN 
  3.     DECLARE v INT
  4.     SET v = 0; 
  5.     WHILE v < 5 DO 
  6.         INSERT INTO t VALUES(v); 
  7.         SET v = v + 1; 
  8.     END WHILE; 
  9. END;// 

二:LOOP...END LOOP

 

 
  1. CREATE PROCEDURE p_loop() 
  2. BEGIN 
  3.     DECLARE v INT; 
  4.     SET v = 0; 
  5.     loop_label:LOOP 
  6.         INSERT INTO t VALUES(v); 
  7.         SET v = v + 1; 
  8.         IF v>=5 THEN 
  9.             LEAVE loop_label; 
  10.         END IF; 
  11.     END LOOP; 
  12. END;//  

三:REPEAT...END REPEAT

 

 
  1. CREATE PROCEDURE p_repeat() 
  2. BEGIN 
  3.     DECLARE v INT
  4.     SET v = 0; 
  5.     REPEAT 
  6.         INSERT INTO t VALUES(v); 
  7.         SET v = v + 1; 
  8.         UNTIL v>=5 
  9.     END REPEAT; 
  10. END;// 

存储过程:

有返回

 
  1. CREATE PROCEDURE optionsrank( 
  2.     OUT pl INT
  3.     OUT ph INT
  4.     OUT pa INT 
  5. BEGIN 
  6.     SELECT MAX(option_id) INTO ph FROM wp_options; 
  7.     SELECT Min(option_id) INTO pl FROM wp_options; 
  8.     SELECT AVG(option_id) INTO pa FROM wp_options; 
  9. END
  10. CALL optionsrank(@pl,@ph,@pa) // 
  11. SELECT @pl,@ph,@pa // 

IN AND OUT 有传入和传出参数

 

 
  1. CREATE PROCEDURE in_out_test( 
  2.     IN in_option_id INT
  3.     OUT out_option_value TEXT 
  4. BEGIN  
  5.     SELECT option_value INTO out_option_value FROM wp_options WHERE option_id = in_option_id; 
  6. END
  7. CALL in_out_test(100,@out) // 
  8. SELECT @out // 

 

    本文转自kefirking 51CTO博客,原文链接:http://blog.51cto.com/phpzf/793775,如需转载请自行联系原作者

你可能感兴趣的文章
hough变换中,直线方程从XY空间转换到参数空间的转换过程
查看>>
阿里云server该数据光盘安装操作
查看>>
Onedrive 明年初基础容量缩小到5G,执行这一步骤避免(保持30G)
查看>>
IOS中NSUserDefaults的用法(轻量级本地数据存储)
查看>>
大组合取模之:1<=n<=m<=1e6,1<=p<=1e9
查看>>
百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记
查看>>
Oracle VM VirtualBox技巧
查看>>
怎样自己构建一个小型的Zoomeye----从技术细节探讨到实现
查看>>
Hadoop 2.7.1 源代码目录结构分析
查看>>
《转》 Openstack Grizzly 指定 compute node 创建 instance
查看>>
[转]PhoneGap使用PushPlugin插件实现消息推送
查看>>
DMA(STM32)
查看>>
最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
查看>>
Boost.Asio基础(三)
查看>>
【转载】学习新东西的唯一方法
查看>>
[转]Android dex分包方案
查看>>
关于Redis的启动过程
查看>>
Android 按二次后退键退出应用程序
查看>>
Springboot监控之一:SpringBoot四大神器之Actuator之2--springboot健康检查
查看>>
一个简单多任务内核实例的分析【转】
查看>>