Mysql存储过程和函数
Mysql存储过程和函数
- 基本概念:
创建存储过程和函数是指将经常使用的一组SQL语句的组合在一起,并将这些SQL语句当作一个整体存储在MySQL服务器中。例如,银行经常需要计算用户的利息。不同类别的用户的利率是不一样的。这就可以将计算利率的SQL代码写成一个存储过程或者存储函数。只要调用这个存储过程或者存储函数,就可以将不同类别用户的利息计算出来。
- 创建存储过程
delimiter $$;
create procedure 名称(参数列表)
begin
SQL语句块
end
$$;
delimiter;
- 存储过程中变量的定义、参数类型和传参
变量定义:–declare 变量名 数据类型 default 默认值
参数类型:
–in参数:表示该参数的值必须在调用存储过程之前指定,在存储过程中修改的值不能被返回,也就是调用的时候就得指定,默认传入的就是in参数
举例:
–out参数:该值可在存储过程内部改变,并可以返回.往往是用于获取存储过程里的参数值。
–inout参数:该值可以在调用时指定,并可修改和返回。
传参:–create procedure test_p( in 参数名 参数类型,out 参数名 参数类型)
举例:
delimiter $$;
create procedure test_p8(id int,out phone int,inout s_name varchar(20))
begin
declare sex varchar(10) default '男';
set id = id+1;
set phone = 186125312;
select s_name;
set s_name = 'BESTTEST';
insert into students values (id,s_name,phone,sex);
end
$$;
delimiter;
set @phone=99888;
set @s_name='besttest'
call test_p8(70,@phone,@s_name);
select * from students;
select @s_name;
- 存储过程中语句
1) if条件判断:
if 条件 then
语句
elseif 条件 then
语句
else
语句
end if;
2) case条件判断:
case value
when 条件 then
sql语句
when 条件2 then
sql语句
else#如果上面条件都不满足的话执行
sql语句
end case
3) while循环:
while 条件 do
sql语句
end while;
4) repeat循环:
repeat
sql语句
until 条件
end repeat;
- 创建函数
函数和存储过程类似,区别是函数有返回值,存储过程没有返回值。
create function 函数名( 变量1,变量2.....)
returns 数据类型
begin
......执行的程序代码
return 数据;
end;
- 查看存储过程和函数
show procedure status;
show function status;
show create procedure;
show create
- 删除存储过程或函数
drop { procedure| function } sp_name;
Mysql存储过程和函数的更多相关文章
- MYSQL存储过程和函数学习笔记
学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和 ...
- Paip.断点调试MYSQL存储过程跟函数的解决方案大法
Paip.断点调试MYSQL存储过程跟函数的解决方案大法 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...
- MySql存储过程与函数详解
存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存储过程和函数是在MyS ...
- Mysql - 存储过程/自定义函数
在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...
- MySQL 存储过程和函数
概述 一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论,一般别人问我我就这样回答你觉得它好你就用它.因为mysql中存储过程和函数的语法非常接近所以就放在一起,主要区别就是函数 ...
- Mysql 存储过程、函数、触发器和视图的权限检查
当存储过程.函数.触发器和视图创建后,不单单创建者要执行,其它用户也可能需要执行,换句话说,执行者有可能不是创建者本身,那么在执行存储过程时,MySQL是如何做权限检查的? 在默认情况下,MySQL将 ...
- Mysql 存储过程和函数区别
存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表. 存储 ...
- MySQL 存储过程和函数(转)
概述 一提到存储过程可能就会引出另一个话题就是存储过程的优缺点,这里也不做讨论,一般别人问我我就这样回答你觉得它好你就用它.因为mysql中存储过程和函数的语法非常接近所以就放在一起,主要区别就是函数 ...
- 7 MySQL存储过程和函数
目录: 1. 存储过程和函数概述2. 准备工作3. 存储过程操作4. 创建带参存储过程5. 查看存储过程 1. 存储过程和函数概述 MySQL的存储过程(stored procedure)和函数(st ...
随机推荐
- zoj 1610 Count the Colors(线段树延迟更新)
所谓的懒操作模板题. 学好acm,英语很重要.做题的时候看不明白题目的意思,我还拉着队友一块儿帮忙分析题意.最后确定了是线段树延迟更新果题.我就欣欣然上手敲了出来. 然后是漫长的段错误.... 第一次 ...
- 《Head First Python》学习笔记03 异常处理
异常(运行时错误): 当代码逻辑遇到意外事件时,比如打开一个文件,却发现文件不存在.这时是增加额外的代码处理逻辑,还是捕获异常呢?答案是:Python优先推荐捕获异常,然后恢复. Python异常机制 ...
- sphinx2.8.8的配置文件
# # Sphinx configuration file sample # # WARNING! While this sample file mentions all available opti ...
- Debian下的'aptitude update'失败处理
Hit http://ftp.us.debian.org squeeze/contrib amd64 Packages Hit http://download.proxmox.com squeeze/ ...
- 【C语言】字符串模块
一.字符串简介 * 在Java中,一个字符串可以用String类型来存储 String s = "MJ"; C语言中没有String这种类型.其实字符串就是字符序列,由多个字符组成 ...
- 结构-行为-样式-Css Div 居中的一个最佳实践
最近在做项目的时候,经常会有需要各种居中的情况,现在分享一个最佳实践. <div class="success-bottom"> <div class=" ...
- jQuery Ajax用法
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
- XAF-BI.Dashboard模块概述 web/win
Dashboard模块介绍了在ASP.NET XAF 和 WinForms 应用程序中简单的集成 DevExpress Dashboard控件的方法. 其实不仅仅是控件,利用了现有的XAF数据模型,这 ...
- Jdon框架开发指南
Jdon框架快速开发指南 开发主要步骤如下: JdonFramework6.0以上两步开发见这里. 快速配置指南 新增/查询/修改/删除(CRUD); 批量查询和分页显示 本文Step By Step ...
- java初学者
决心开始从头学习java,并且每天记录自己的学习进度与学习成果,用于分享和促进. 鉴于是新手,并且之前也没有任何发文的经历,可能更多的是根据自己已有的知识容量基础之上进行的深化,太基础的看一遍就能会的 ...