mysql__存储过程

一、 什么是存储过程

存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

存储过程的好处:
1、由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。
2、一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。
3、通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。

二、 存储过程的基本语法

1、一般情况下Mysql以";"结尾表示确认输入并执行语句,但在存储过程中";"不是表示结束,因此可以用命令将";"号改为'//'表示确认输入并执行。格式:delimiter //

创建存储过程

1.1、基本语法:

create procedure sp_name()
begin
.........
end

1.2、参数传递

调用存储过程

1.3、基本语法:call sp_name()
注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递

删除存储过程

1.4、基本语法:
drop procedure sp_name //
1.5
、注意事项
不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程

区块,条件,循环

1.6、区块定义,常用
   begin
   ......
   end;
   
也可以给区块起别名,如:
   lable:begin
   ...........
   end lable;
   可以用leave lable;跳出区块,执行区块以后的代码。
1.7、条件语句

  i条件 then
  statement
   else
   statement
   end if;

1.8、循环语句
(1)
、while循环

 [label:] WHILE expression DO
statements
END WHILE [label] ;

 (2)、loop循环

[label:] LOOP
 statements
 END LOOP [label];

(3)、repeat until循环

         [label:] REPEAT

         Statements

         UNTILexpression

         END REPEAT [label] ;

其他常用命令

1、show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2、show create procedure sp_name
显示某一个存储过程的详细信息

猜你喜欢

转载自blog.csdn.net/xiao_mao_xiao_yu/article/details/80908411
今日推荐