存储过程的基本概念

存储过程是一组为了完成某项特定功能的sql语句集,

其实质就是一段存储在数据库中的代码。

它可以由声明式的sql语句和过程式sql语句组成。

存储过程优点:

1、可增强sql语言的功能和灵活性。

2、良好的封装性

3、高性能

4、可减少网络流量

5、可作为一种安全机制来确保数据库的安全性和数据的完整性。

DELIMITER  命令

DELIMITER$$   用户定义的结束符

创建存储过程

mysql>use mysql_test;

mysql>delimiter $$

mysql>create procedure sp_update_sex(in cid  int,in csex char(2))

       ->begin

       ->     update   customers  set  cust_sex=csex  where cust_id=cid;

        ->end   $$

查询存储过程 

show   procedure  status$$

删除存储过程

drop  procedure   if exists   sp_update_sex$$

调用存储过程

call sp_update_sex(902,'f')$$

局部变量

DECLARE   cid   INT(10)

使用DECLARE语句声明局部变量

1、只能在存储过程体的BEGIN...END语句块中的声明。

2、必须在存储过程的开头处声明。

3、作用范围仅限于声明它的BEGIN...END语句块。

4、不同于用户变量

局部变量与用户变量的区别

1、局部变量声明时,在其前面没有@符号,并且它只能被声明它的BEGIN...END语句块中的语句所使用。

2、用户变量在声明时,会在其名称前面使用@符号,同时已声明的用户变量存在于整个会话之中。

你可能感兴趣的:(存储过程的基本概念)