码迷,mamicode.com
首页 > 其他好文 > 详细

11存储过程

时间:2019-02-06 17:10:35      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:img   upd   创建   from   code   alt   info   sum   insert   

创建封装

CREATE PROCEDURE p1() 
BEGIN
    INSERT INTO goods VALUES(null,寒舍,50);    
    SELECT * FROM goods;
END

使用封装

CALL p1();

 

传参创建带有参数的封装

#入参IN、出参OUT、出入参OUTIN
CREATE PROCEDURE p2(IN i INT,INOUT names VARCHAR(50)) 
BEGIN
    UPDATE goods SET name=names WHERE id=i;
    SELECT names;
END

 

 使用带有参数的封装,出参传参必须先赋个值

SET @names=大鹅;
CALL p2(4,@names);

 

 将查询到的值赋值给其他,INTO关键字可以将前面字段的查询结果执行给INTO后面的变量

SELECT 要查询的值 INTO 要赋的值 FROM ...

 

 

控制--创建带有参数和条件的封装

CREATE PROCEDURE p3(IN flag CHAR(5),IN nums INT)
BEGIN
    IF flag=true THEN SELECT * FROM goods WHERE num<nums;
    ELSEIF flag=false THEN SELECT * FROM goods WHERE num>nums;
    ELSE SELECT * FROM goods;
    END IF;
END 

 

 使用

CALL p3(false,20);

 

 

 

循环--创建一个计算1到100的和的封装

#计算1到100的和
CREATE PROCEDURE p4(IN n INT,OUT m INT)
BEGIN
    DECLARE i INT DEFAULT 0;
    DECLARE sums INT;
    SET sums=0;
    WHILE i<=n DO
        SET sums=sums+i;
        SET i=i+1;
    END WHILE;
    SET m=sums;
END

 

运行此封装

技术图片

 

11存储过程

标签:img   upd   创建   from   code   alt   info   sum   insert   

原文地址:https://www.cnblogs.com/start20180703/p/10353811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!