mysql中 创建存储过程

1、定义IF循环以及调用书写格式

 DELIMITER $

    ->  create procedure pro_IF(IN num INT,OUT str varchar(30))
    -> BEGIN
    -> IF num= 1 THEN 
    -> SET str='星期一';
    ->  ELSE SET str ='输入错误';
    -> END IF;
    -> END$

调用---------> call pro_IF(10 , @s1)  //调用call给s1返回一个结果,赋值给s1,如果输入完改命令命令行没结束,输入$结束

查看结果----------> select @s1  //打印结果    ‘输入错误’            如果输入完改命令命令行没结束,输入$结束

如果call调用方法报错得话,应该在执行这句话前面先定义一个s1即可,演示如下

一set @s1 ='   ';

二call pro_IF(10 , @s1) 

三select @s1 

2、while循环以及调用书写格式

delimiter $

create  procedure pro_while(IN num int,OUT result int)
    -> begin
    -> declare i int default 1;
    -> declare sum int default 0;
    -> while i < num DO
    -> SET sum = sum +i;
    -> SET i=i+1;
    -> end while;
    -> set result = sum;
    -> end $;

调用    call procedure pro_while(10,@ss);  

            $

           select @ss;

            $

跟if一样,如果调用得时候报参数错误,应该先定义,用set初始化一个值,赋予空 '空格'  ;

猜你喜欢

转载自blog.csdn.net/qq_32736999/article/details/82377410