100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > mysql创建存储过程例题_Mysql 存储过程实例详解

mysql创建存储过程例题_Mysql 存储过程实例详解

时间:2019-02-01 05:15:33

相关推荐

mysql创建存储过程例题_Mysql 存储过程实例详解

存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,存储和和函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参数可以使用IN、OUT、INOUT类型,而函数的参数只能是IN类型。存储过程再简单点来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。本次博客就来讲一下存储过程

存储过程的操作

语法如下:

创建:CREATE PROCEDURE sp_name([proc_parameter[,...]])[characteristic...]routine_body

proc_parameter:[IN|OUT|INOUT] param_name type #type: Anyvalid MySQL data type

characteristic:

LANGUAGE SQL|[NOT] DETERMINISTIC|{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}|SQL SECURITY {DEFINAER|INVOKER}|COMMENT string outine_body:

Valid SQLprocedure statement orstatements

修改:ALTER PROCEDURE sp_name [characteristic...]characteristic:

{CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA}|SQL SECURITY {DEFINAER|INVOKER}|COMMENT string调用:

CALL sp_name([parameter[,...]])

删除:DROP PROCEDUREsp_name

查看:

showPROCEDURE STATUS [like pattern]SHOWCREATE PROCEDURE sp_name

MySQL的存储过程和函数中允许包含DDL语句,也允许在存储过程中执行提交或者回滚,但是存储过程和函数不允许执行LOAD DATA INFILE语句,存储过程和函数可以调用其他的过程或者函数。

插入小知识点@:

1.用户变量:以"@"开始,形式为"@变量名"

用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。2.全局变量:定义方式 set GLOBAL 变量名 或者 set @@global.变量名

对所有客户端生效,只有具有super权限才可以设置全局变量。

存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。

在我看来, 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。

为什么要使用存储过程

通过把处理封装在容易使用的单元中,简化复杂的操作(正如前面例子所述)。

由于不要求反复建立一系列处理步骤,这保证了数据的完整性。如果所有开发人员和应用程序都使用同一(试验和测试)存储过程,则所使用的代码都是相同的。这一点的延伸就是防止错误。需要执行的步骤越多,出错的可能性就越大。防止错误保证了数据的一致性。

简化对变动的管理。如果表名、列名或业务逻辑(或别的内容)有变化,只需要更改存储过程的代码。使用它的人员甚至不需要知道这些变化。

users表如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。