当前位置: 首页> 游戏> 手游 > 新浪重庆_亚马逊跨境电商开店流程_百度权重怎么看_plc培训机构哪家最好

新浪重庆_亚马逊跨境电商开店流程_百度权重怎么看_plc培训机构哪家最好

时间:2025/7/16 22:52:53来源:https://blog.csdn.net/2501_90609832/article/details/147322804 浏览次数:0次
新浪重庆_亚马逊跨境电商开店流程_百度权重怎么看_plc培训机构哪家最好

mysql存储过程

1. 什么是存储过程

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

说明:mysql从5.0版本之后开始支持存储过程

2. 存储过程优缺点

优点:

  • 增强sql的灵活性
  • 增加业务的复用性,存储过程创建成功后可以多次调用
  • 执行速度快
  • 距离需要处理的数据近,减少网络流量
  • 减少应用程序和数据库的交互次数

缺点:

  • 数据库的移植性差
  • 维护性没有java等编程语言好,调试不方便

3. 语法结构

3.1 基本语法

delimiter $$

create proceure 过程名称([[IN|OUT|INOUT] 参数名 数据类型,...])

begin

        -- sql; 语句

end $$

delimiter;

delimiter $$
create procedure 过程名称([[IN|OUT|INOUT] 参数名 数据类型,...])
begin-- sql; 语句
end $$
delimiter ;

 

 示例:

delimiter $

        #指定分隔符

create procedure pro_hello_word()

begin

        select 'hello word';

end;

$

delimiter ; #还原分隔符

delimiter $#指定分隔符
create procedure pro_hello_word()
beginselect 'hello word';
end;
$
delimiter ;  # 还原分隔符

 调用:

 

 存储过程的删除

drop procedure 存储过程 

 

3.2 参数

参数类型包括:in,out,inout

  • in: 输入参数,在调用过程时指定,即使在过程中被改动,也不能返回
  • out:该值可在存储过程内被改变,可返回
  • inout: 调用时指定,在过程中可改变可返回

IN参数示例:

mysql> delimiter $
mysql> create procedure pro_in_param(in p_in int)-> begin->   select p_in;->   set p_in=1000;->   select p_in;-> end;-> $
Query OK, 0 rows affected (0.00 sec)mysql> set @p_in=1;-> call pro_in_param(@p_in);-> $
Query OK, 0 rows affected (0.00 sec)+------+
| p_in |
+------+
|    1 |
+------+
1 row in set (0.00 sec)+------+
| p_in |
+------+
| 1000 |
+------+
1 row in set (0.00 sec)Query OK, 0 rows affected (0.01 sec)# 变量的之并没有变化
mysql> select @p_in;-> $
+-------+
| @p_in |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)mysql>

 

OUT参数示例

mysql> create procedure pro_out_param(out p_out int)-> begin->   select p_out;->   set p_out=9999;->   select p_out;-> end-> $
Query OK, 0 rows affected (0.00 sec)mysql> set @p_out=1;-> call pro_out_param(@p_out);-> $
Query OK, 0 rows affected (0.00 sec)+-------+
| p_out |
+-------+
|  NULL |
+-------+
1 row in set (0.00 sec)+-------+
| p_out |
+-------+
|  9999 |
+-------+
1 row in set (0.01 sec)Query OK, 0 rows affected (0.01 sec)# 变量的值已经变了
mysql> select @p_out;-> $
+--------+
| @p_out |
+--------+
|   9999 |
+--------+
1 row in set (0.00 sec)mysql>

 

INOUT示例 

关键字:新浪重庆_亚马逊跨境电商开店流程_百度权重怎么看_plc培训机构哪家最好

版权声明:

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

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

责任编辑: