首页 / MYSQL / 一天一点MySQL复习——存储过程
一天一点MySQL复习——存储过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一天一点MySQL复习——存储过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2083字,纯文字阅读大概需要3分钟。
内容图文
![一天一点MySQL复习——存储过程](/upload/InfoBanner/zyjiaocheng/464/085f01c3a1924f28b06e975c1c8009fe.jpg)
这些存储在数据库服务器端供客户端调用执行的SQL语句就是存储过程,客户端应用程序可以直接调用并执行存储过程,存储过程的执行结果可返回给客户端。
存储过程可以:
- 接受输入参数并以输出参数的形式将多个值返回给调用者。
- 包含执行数据库操作的语句。
- 将查询语句执行结果返回到客户端内存中。
总之,存储过程实际是存储在数据库服务器上的、由SQL语句和流程控制语句组成的预编译集合,它以一个名字存储并作为一个单元处理,可由应用程序调用执行,允许包含控制流、逻辑以及对数据的查询等操作。存储过程可以接受输入参数,并可具有输出参数,还可以返回单个或多个结果集。
二、创建存储过程
create procedure 过程名字(参数列表)
begin
--过程体
end
简单实例:
三、查看存储过程
show procedure status [like‘procedure_name‘];
简单实例:
其中‘\G‘表示:以每组显示查询结果
查看创建语句:
show create procedure procedure_name;
四、调用存储过程
不能用select来访问存储过程:
调用存储过程应该用 call:
五、修改&删除存储过程
存储过程不能修改,只能删除后在添加
drop procedure 存储过程名;
六、存储过程参数
函数的参数需要数据类型指定,过程比函数更严格
过程还有自己的类型限定:
- in:数据只是从外部传入给内部使用(值传递),可以是数值也可以是变量
- out:只允许过程内部使用,只能传递变量,引用传递,外部的数据会被先清空才会进入到内部
- inout:外部可以在内部使用,内部修改也可以在外部使用,引用传递,只能传递变量
in参数为值传递
out参数为引用传递,传递至过程中,会将传递参数的本身值清空
inout参数为引用传递
实例:
delimiter $$
create procedure pro2(in int_1 int,out int_2 int,inout int_3 int)
begin
-- 查看三个变量
select int_1,int_2,int_3;
end
$$
delimiter ;
delimiter $$
create procedure pro3(in int_1 int,out int_2 int,inout int_3 int)
begin
-- 查看三个局部变量;
select int_1,int_2,int_3;
-- 修改三个局部变量;
set int_1 = 10;
set int_2 = 100;
set int_3 = 1000;
-- 查看三个局部变量
select int_1,int_2,int_3;
-- 查看三个全局变量
select @int_1,@int_2,@int_3;
--修改三个全局变量
set @int_1 = ‘a‘;
set @int_2 = ‘b‘;
set @int_3 = ‘c‘;
--查看三个全局变量
select @int_1,@int_2,@int_3;
end
$$
delimiter ;
一天一点MySQL复习——存储过程
标签:
本文系统来源:http://www.cnblogs.com/zhengbin/p/5517122.html
内容总结
以上是互联网集市为您收集整理的一天一点MySQL复习——存储过程全部内容,希望文章能够帮你解决一天一点MySQL复习——存储过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。