文章目录
一: 简单的存储过程
二:变量
1.变量的明使用declare,一句declare只声明一个变量,变量必须先声明后使用
2.变量具有数据类型和长度,与mysql的SQL数据类型保持一致,因此甚至还能指定默认值、字符集和排序规则等
3.变量可以通过set来赋值,也可以通过select into的方式赋值
4.变量需要返回,可以使用select语句,如:select变量名
5.变量是有作用域的,作用范围在begin与end块之间,end结束变量的作用范围即结束。
6.需要多个块之间传递值,可以使用全局变量,即放在所有代码块之前。
分类
见:链接
定义条件和处理
条件的定义
declare condition_name CONDTION FOR condtion_value
例子
#方法一:使用sqlstate_value
DECLARE can_not_find CONDITION FOR sqlstate '42S02';
#方法二:使用mysql_error_code
DECLARE can_not_find CONDITION FOR 1146;
条件的处理
DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement
例子
DECLARE CONTINUE HANDLER FOR SQLSTATE *23000' SET @x2 = 1;
传入参数(IN)
CREATE PROCEDURE testa(IN `my_uid