MySQL   发布时间:2022-05-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MySQL创建存储过程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在开发过程中,经常会遇到重复使用某一个功能的情况,为此,MysqL引入了存储过程 存储过程 就是一条或多条sql语句的集合,当对数据库进行一系列复杂操作时,存储过程可以将这些复杂操纵,封装成一个代码块,以便重复使用,大大减少数据库开发人员的工作量

<h3 id="创建存储过程">创建存储过程

使用CREATE PROCEDURE语句 CREATE PROCEDURE sp_name([proc_parameter]) [characteristics……]routIne_body

<h3 id="参数说明">参数说明

CREATE PROCEDURE,创建存储过程的关键字 Sp_name,为存储过程的名称 Proc_parameter,为指定存储过程的参数列表,参数列表的形式,如下 [IN|OUT|INOUT]param_name type

<h3 id="参数列表说明">参数列表说明

IN,表示输入参数 OUT,表示输出参数 INOUT,表示既可以输入,也可以输出 Param_name,表示参数名称 type,表示参数的类型,可以是MysqL数据库中的任意类型

创建存储过程的语法格式中,characteristics用于指定存储过程的特性,取值如下

<h3 id="language-sql">LANGUAGE sql

说明,routIne_doby部分,是由sql语句组成的,当前系统支持的语言为sql,sql是LANGUAGE的唯一值

<h3 id="not-deterministic">[NOT] DETERMINISTIC

指明存储过程执行的结果是否正确,DETERMINISTIC表示结果是正确的,每次执行存储过程时,相同的输入可能得到不同的输出,如果没有指定任意一个值,默认为NOT DETERMINISTIC

<h3 id="contains-sql-no-sql-reads-sql-data-modifies-sql-data">{CONTAINS sql | NO sql | READS sql DATA | MODIFIES sql DATA}

指明子程序使用sql语句的限制 CONTAINS sql,表示子程序包含sql语句,但是,不包含读写数据的语句 NO sql,表示子程序不包含sql语句 READS sql DATA,说明子程序,包含读写数据的语句 MODIFIES sql DATA,表示子程序包含写数据的语句 默认情况下,系统会指定为CONTAINS sql

<h3 id="sql-securitydefiner-invoker">sql Security{DEFINER | INVOKER}

指明,谁有权限来执行 DEFINER,表示只有定义者才能执行 INVOKER,表示拥有权限的调用者可以执行 默认情况下,系统指定为DEFINER

<h3 id="commentString">COMMENT’String’

注释信息,用来表示存储过程 RoutIne_body,是sql代码的内容,可以用BEGIN……END来表示sql代码的开始和结束

首先,在数据库chapter06中,创建表student 创建student表之后,插入4条记录

title="MySQL创建存储过程" alt="MySQL创建存储过程" src="http://code.js-code.com/res/2019/01-02/09/73b21ff42b4c1ab774150214c47e0213.jpg" >

创建一个查看student表的存储过程

title="MySQL创建存储过程" alt="MySQL创建存储过程" src="http://code.js-code.com/res/2019/01-02/09/e263e7b9a3ad30ab67ef256bca9b52d3.jpg" >

参数说明 DELIMITER // 作用,将MysqL的结束符设置为//,因为,MysqL默认的语句结束符号为分号;,为了避免与存储过程中,sql语句结束符相冲突,需要使用DELIMTER改变存储过程的结束符,并且,以END //结束存储过程

存储过程,定义完毕之后,再使用DELIMITER,恢复默认结束符 DELIMITER,可以指定其他符号作为结束符 注意,DELIMITER与设置的结束符之间,一定要有一个空格,否则设置无效

大佬总结

以上是大佬教程为你收集整理的MySQL创建存储过程全部内容,希望文章能够帮你解决MySQL创建存储过程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。