11存储过程
Posted start20180703
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11存储过程相关的知识,希望对你有一定的参考价值。
创建封装
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存储过程的主要内容,如果未能解决你的问题,请参考以下文章
2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段