欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 【Mysql】mysql的存储过程

【Mysql】mysql的存储过程

2024/11/30 11:00:28 来源:https://blog.csdn.net/hefaxiang/article/details/144090903  浏览:    关键词:【Mysql】mysql的存储过程

  1、什么是存储过程

(1)mysql 5.0版本开始支持存储过程

(2)简单的说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法。

(3)存储过程就是数据库SQL语言层面的代码封装与重用。

2、存储过程的特性

(1)有输入、输出参数,可以声明变量,有if/else   ,  case,   while  等控制语句,通过编写存储过程,可以实现复杂的逻辑功能。

(2)函数的普遍特性:模块化、封装、代码复用

(3)速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤。

3、格式

delimiter      自定义结束符

create    procedure     储存名([in,  out,  inout]   参数名   数据类型...)

begin  

   sql语句

end   自定义结束符号

delimiter ;

注意:自定义结束符号一般用:$$或者\\

4、操作

创建数据库:my_procedure

创建学生表,并向表中插入数据:

表中的数据为:

创建存储过程:

调用存储过程:

5、Mysql操作---变量定义

(1)局部变量

局部变量,是用户自定义,只在begin   和end之间有效。

声明局部变量语法:

declare    var_name    type    [default    var_value];

解释:

例如:declare    nickname   varchar(30);

举例:

代码:

                                                     
delimiter  $$
create  procedure   proco2()
begin 
declare   var_name  varchar(20) default 'aaa';
set  var_name  ='zhangsan';-- 给局部变量赋值
select var_name;
end $$
delimiter ;

调用存储过程:

为变量赋值

Mysql中还可以使用select   ....  into  语句为变量赋值。其基本语法为:

select   col_name   [...]   into   var_name  [...]  from   table_name   where   condition;

(1)col_name参数表示查询的字段名称。

(2)var_name参数是变量的名称

(3)table_name参数指表的名字

(4)condition参数指查询条件

注意:当将查询结果赋值给变量时,该查询语句的返回结果只能是单行单列。

示例:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com