您现在的位置是:主页 > 数据库技术 > 数据库技术
mysql存储过程是什么
IDCBT2022-01-04【服务器技术】人已围观
简介这篇文章给大家分享的是有关mysql存储过程是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、定义 存储过程(Stored Procedure)是在大型数据库
这篇文章给大家分享的是有关mysql存储过程是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、定义存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
二、存储过程的特点1、能完成较复杂的判断和运算
2、可编程行强,灵活
3、SQL编程的代码可重复使用
4、执行的速度相对快一些
5、减少网络之间的数据传输,节省开销
1、创建存储过程的简单语法
create procedure 名称() begin ......... end
2、创建一个简单的存储过程
create procedure testa() begin select * from users; select * from orders; end;
3、调用存储过程
call testa();
运行结果如图(1)和图(2):
图(1)
图(2)
四、存储过程的变量1、先通过一个简单的例子来学习变量的声明和赋值
create procedure test2() begin -- 使用 declare语句声明一个变量 declare username varchar(32) default ''; -- 使用set语句给变量赋值 set username='xiaoxiao'; -- 将users表中id=1的名称赋值给username select name into username from users where id=1; -- 返回变量 select username; end;
2、概括
(1)、变量的声明使用declare,一句declare只声明一个变量,变量必须先声明后使用;
(2)、变量具有数据类型和长度,与mysql的SQL数据类型保持一致,因此甚至还能制定默认值、字符集和排序规则等;
(3)、变量可以通过set来赋值,也可以通过select into的方式赋值;
(4)、变量需要返回,可以使用select语句,如:select 变量名。
1、变量作用域说明:
(1)、存储过程中变量是有作用域的,作用范围在begin和end块之间,end结束变量的作用范围即结束。
(2)、需要多个块之间传值,可以使用全局变量,即放在所有代码块之前
(3)、传参变量是全局的,可以在多个块之间起作用
很赞哦! ()