存储过程的基本概念

存储过程是一组为了完成某项特定功能的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、用户变量在声明时,会在其名称前面使用@符号,同时已声明的用户变量存在于整个会话之中。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容