mysql创建存储过程
来源:互联网 发布:电厂仿真软件 编辑:程序博客网 时间:2024/06/08 18:39
今天是2017年9月8日,距离国庆还有1,2,3,4,...还有还些天呢,进入工作之后有的时候感觉对学习有了一个全新的认识,以前认为学习就是记住,现在才知道学习其实仅仅是知道就可以,知道有这一块就行了,大概会用就可以了。好了不谈这些无用的东西了,我们来一起看看存储过程。
存储过程是一些sql语句的集合,比如有的时候我们可能需要一大串的sql语句,或者说在编写SQL语句的过程中还需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。
那么如何创建一个存储过程:
drop procedure if EXISTS pr_sub;create PROCEDURE pr_sub( x int, y int)begin declare s int; if x is null THEN set x=10;end if;if y is null THEN set y=20;end if; set s=y-x; SELECT s as subofyx;ENDset @a=10;set @b=20;call pr_sub(@b,@a);上面是一个存储过程活生生的例子,虽然说有点简单,但是也不妨碍我们对存储过程语法的研究。
create procedure procedure_name
(
[in|out] param1 param_type,
[in|out] param2 param_type
)
begin
sql statements;
end;
从上面的活生生的例子我们就看出了一个简单那的存储过程一般的格式,[in|out]是表示in和out是可以选择的,in表示是输入参数,out表示是输出参数,我们在声明参数的参数的时候可以指定一个参数是输入参数或者是输出参数。当然也可以不写,比如说我们在上面活生生的例子中我们就是讲这两个采参数省略掉了,省略了不代表是没有,而是使用默认的in,输入参数。
接下来我们来看看另外的一个活生生的例子,这个我们来看一下带有输出参数的out,,,,来来来大家快来看啊:
drop procedure if exists pr_multi;create PROCEDURE pr_multi( out c int, a int, b int)beginif a is null THEN set a=10;end if;if b IS null THEN set b=20;end if;set c=a*b;ENDcall pr_multi(@name,5,3);select @name我们看调用存储使用的关键字是call procedure_name(param,..)猜猜最后输出是多少:
@name
15
猜中没有,没有的话就给自己一个耳光吧。。。。。开玩笑,别当真
阅读全文
0 0
- mysql创建存储过程
- mysql创建存储过程
- mysql创建存储过程
- mysql创建存储过程
- mysql创建存储过程
- mysql存储过程创建
- mysql创建存储过程
- mysql创建存储过程
- MySQL存储过程 创建
- mysql创建存储过程
- mysql创建存储过程
- MySQL创建存储过程
- MySQL创建存储过程
- mysql创建存储过程
- mysql创建存储过程
- mysql 创建存储过程
- mysql创建存储过程
- mysql创建存储过程
- Python进程和线程
- JN项目配置-公司是maven项目
- 【备忘】传智播客黑马程序员28期JavaEE基础及就业班视频教程
- zigbee知识介绍
- Struts-S2-048漏洞测试
- mysql创建存储过程
- k最邻近算法——使用kNN进行手写识别
- ubuntu sublime text 3的安装
- Linux 常用命令总结
- for和foreach的效率比较
- 解决api-ms-win-crt-runtimel1-1-0.dll缺失的方法 api-ms-win-crt-runtime-l1-1-0.dll是电脑系统重要组件,如果缺少会导致很多程序无法运行,
- 关于安装jdk配置环境的作用
- java实体类生成工具
- 判断输入的时间格式和判断当前输入的时间是否在输入的时间范围内