首页 / MYSQL / Mysql存储过程和存储函数
Mysql存储过程和存储函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql存储过程和存储函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2301字,纯文字阅读大概需要4分钟。
内容图文
![Mysql存储过程和存储函数](/upload/InfoBanner/zyjiaocheng/908/9605f4d803be49f89cacd03b583430e9.jpg)
存储过程:一条或者多条sql语句
创建存储过程 CREATE PROCEDURE
CREATE PROCEDURE 存储过程名([proc_parameter]) [characteristics] routime_body
proc_parameter是指定存储过程的参数列表,可以这么写 [IN|OUT|INOUT] param_name type,IN输入参数,OUT输出参数,INOUT即可输入也可输入,param_name参数名 type参数类型
characteristics表示存储过程的特性
routime_body表示sql代码 用begin和end括起来
CREATE PROCEDURE avgMonet(IN persionname VARCHAR(255),out sumMoney double) BEGIN select sum(personMoney) INTO sumMoney From person where name=persionname; END
获取名叫persionname的所有数据行,然后把他们的工资全部加起来赋给sumMoney
使用 CALL 来调用存储过程
CALL sp_name(parameter1,parameter2,.....)
输出变量的返回值
在存储过程中我们可以使用declare来定义局部变量
DECLARE var_name1[,var_name2,......] data_type [Default vaue]
可以定义一个或者多个变量名
可以赋值,也可以使用默认值(NULL),之后使用set来进行赋值
DECLARE a1 int DEFAULT 1; DECLARE a1,a2,a3 int ; SET a1=1,a2=2; SET a3=a1+a2
Select语句也能给Declare赋值
存储函数:
创建存储函数 CREATE FUNCTION
CREATE FUNCTION func_name([func_parameter]) RETURNs type [characteristics] routime_body
参数默认IN
参数和存储过程意思一样但不用begin和end表示 用return
CREATE FUNCTION nameById(persionid INT) RETURNS varchar(255) DETERMINISTIC return(select name from person where id = persionid);
DETERMINISTIC 不确定的,同样的还有
NO SQL 没有SQl语句,当然也不会修改数据
READS SQL DATA 只是读取数据,当然也不会修改数据
MODIFIES SQL DATA 要修改数据
CONTAINS SQL 包含了SQL语句
function里面支持DETERMINISTIC, NO SQL 和 READS SQL DATA
通过引用函数名来使用
select func_name;
游标
当我们的查询语句 查询出了很多的结果,此时就需要我们在结果集中使用游标来读取记录,根据需要来获取其中的一条记录
游标的定义
DECLARE cursor_name CURSOR FOR select_statement
cursor_name 游标名
select_statement 查询结果集
游标的使用
FETCH cursor_name INTO var_name [, var_name,......]{参数名称}
关闭游标
FETCH cursor_name INTO var_name [, var_name,.....] {参数名称}
查看存储过程存储函数状态
SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern']
LIKE 'pattern' 匹配存储函数名称或者存储过程名称
查看存储过程存储函数的定义
SHOW CREATE {PROCEDURE| FUNCTION} sp_name
删除存储过程和存储函数
DROP {PROCEDURE | FUNCTION}[if exists] sp_name
---------------------------------还有许多不足的地方,会继续学习下去--------------------------------------------------
内容总结
以上是互联网集市为您收集整理的Mysql存储过程和存储函数全部内容,希望文章能够帮你解决Mysql存储过程和存储函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。