MySQL流程控制实例

1、IF ELSE

[sql]  view plain  copy
  1. DROP PROCEDURE IF EXISTS if_else_example;  
  2. CREATE PROCEDURE if_else_example(  
  3.   
  4. IN p_type TINYINT   
  5.   
  6. )  
  7. COMMENT 'if_else_example'  
  8.   
  9. BEGIN  
  10.   
  11. DECLARE m_varINTDEFAULT0;  
  12.   
  13. IF p_type =1THEN  
  14. SET m_var =1;  
  15.   
  16. ELSEIF p_type =2THEN  
  17. SET m_var =2;  
  18.   
  19. ELSE  
  20. SET m_var =3;  
  21.   
  22. ENDIF;  
  23.   
  24. SELECT m_var;  
  25.   
  26. END;  



 

2、CASE WHEN

[sql]  view plain  copy
  1. DROP PROCEDUREIFEXISTS case_when_example;  
  2. CREATE PROCEDURE case_when_example(  
  3.   
  4. IN p_type TINYINT   
  5.   
  6. )  
  7. COMMENT 'case_when_example'  
  8.   
  9. BEGIN  
  10.   
  11. DECLARE m_varINTDEFAULT0;  
  12.   
  13. CASE p_type  
  14.   
  15. WHEN 1THEN  
  16.   SET m_var= m_var+1;  
  17.   SET m_var= m_var+1;  
  18.   
  19. WHEN 2THEN  
  20.   SET m_var= m_var+2;  
  21.   SET m_var= m_var+2;  
  22.   
  23. WHEN 3THEN  
  24.   SET m_var= m_var+3;  
  25.   SET m_var= m_var+3;  
  26.   
  27. ENDCASE;  
  28.   
  29. SELECT m_var;  
  30.   
  31. END;  


 

3、WHILE DO

[sql]  view plain  copy
  1. DECLARE iINTDEFAULT0;  
  2. WHILE i <100 DO  
  3. SET i = i +1;  
  4. ENDWHILE;  


 

4、使用LEAVE语句强制退出存储过程

[sql]  view plain  copy
  1. DROPPROCEDUREIFEXISTS leave_example;  
  2. CREATEPROCEDURE leave_example(  
  3. OUT p_out INT  
  4. )  
  5. begin_label:BEGIN  
  6.   
  7. DECLARE m INTDEFAULT5;  
  8.   
  9. IF m >1THEN  
  10. SET p_out =1;  
  11. LEAVE begin_label;  
  12. ENDIF;  
  13.   
  14. IF m >2THEN  
  15. SET p_out =2;  
  16. LEAVE begin_label;  
  17. ENDIF;  
  18.   
  19. IF m >3THEN  
  20. SET p_out =3;  
  21. LEAVE begin_label;  
  22. ENDIF;  
  23.   
  24. END;  
  25.   
  26. /* CALL leave_example(@s); 结果:1*/  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值