mysql存储过程简单用法
show procedure status 查看所有存储过程
<!-- 简单存储过程 -->
先将结束符改成//
delimiter //
create procedure query(page int)
beginselect * from class where id > page;
end//
将结束符改回;
delimiter ;
<!-- 调用存储过程 -->
call query(20)
<!-- 删除存储过程 -->
drop procedure query
<!-- 会话变量的使用 -->
SET @age=10;
select @age;
<!-- 声明一个输出参数的存储过程 -->
delimiter //
create procedure pro(out str varchar(20))
begin
set str="测试";
end%
delimiter ;
CALL PRO(@NAME); <!-- 调用存储过程 -->
SELECT @NAME; <!-- 获得数据 -->
<!-- 声明一个输入 / 输出参数的存储过程 -->
delimiter //
create procedure xx(inout n int)
begin
select n;
<!-- 此时n是局部变量 -->
set n=500;
end//
delimiter ;
set @n=10;
call xx(@n); <!-- 打印10 -->
select @n <!-- 打印500 -->
查看全局变量
SHOW GLOBAL VARIABLES;
设置全局变量
SET GLOBAL max_allowed_packet=53687091200;
带条件判断的存储过程
delimiter $
create procedure testIf(in num int,out str varchar(20))
begin
if num = 1 then
set str = '星期一';
if num = 2 then
set str = '星期二';
else
set str = '星期一';
end if;
end $
定义一个循环,求1-100的和
delimiter $
create procedure testWhile(in num int,out result int)
begin
-- 定义一个局部变量
declare i int default 1;
declare vsum int default 0;
while i<num do
set vsum = vsum + i;
set i = i + 1;
end while;
set result = vsum;
end $
call testWhile(100,@result);
select @result;
into 的使用,将查询结果作为返回值
delimiter $
create procedure findByID(in eid int,out vname varchar(20))
begin
select empName into vname from employee where id = eid;
end $
call findByID(1,@name);
select @name;
<!-- 修改数据 -->
<!-- 插入数据 -->
mysql存储过程简单用法的更多相关文章
- MySQL 存储过程参数用法 in, out, inout
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似 ...
- mysql select简单用法
1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from artic ...
- MySql存储过程简单实例
转自:http://www.cnblogs.com/zhuawang/p/4185302.html ********************* 创建表 ************************ ...
- mysql 存储过程简单实例
一.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...
- mysql 存储过程简单学习
转载自:http://blog.chinaunix.net/uid-23302288-id-3785111.html ■存储过程Stored Procedure 存储过程就是保存一系列SQL命令的集合 ...
- mysql存储过程简单例子
1.之前经常在oracle数据库中使用存储过程,换到mysql后用的不多,但是有时候也用,大致记录一下,基本和oracle的一样. CREATE DEFINER = `root`@`%` PROCED ...
- Mysql存储过程简单应用
因为很久没写过存储过程了,语法也不记得了,靠百度后,解决了当前问题,这里就简单记录一下. CREATE PROCEDURE pro1() BEGIN DECLARE i int; DECLARE db ...
- MySql 存储过程实例(附完整注释)
将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例: ...
- MySql 存储过程实例 - 转载
MySql 存储过程实例 将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例: ...
随机推荐
- SpringMVC之添加照片并修改照片名字
@RequestMapping(value="/addIdcardsSubmit",method={RequestMethod.POST,RequestMethod.GET}) p ...
- Maven和Ant简介以及两者的区别
Maven 一.Maven简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 目前,绝大多数开发人员都把 Ant 当作 Java 编程 ...
- 系统级编程(csapp)
系统级编程漫游 系统级编程提供学生从用户级.程序员的视角认识处理器.网络和操作系统,通过对汇编器和汇编代码.程序性能评测和优化.内存组织层次.网络协议和操作以及并行编程的学习,理解底层计算机系统对应用 ...
- 从0开发3D引擎(十二):使用领域驱动设计,从最小3D程序中提炼引擎(第三部分)
目录 上一篇博文 继续实现 实现"DirectorJsAPI.init" 实现"保存WebGL上下文"限界上下文 实现"初始化所有Shader&quo ...
- AWS EC2+Docker+JMeter构建分布式负载测试基础架构
目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...
- boostrap3 bootstrap-datetimepicker.min.js设置中文语言
问题 bootstrap3中使用bootstrap-datetimepicker遇到设置中文语言的问题 解决办法 bootstrap-datetimepicker在使用的时候要先引入momentjs中 ...
- Java基础--方法的定义
1.为什么要有方法? 方法(又叫函数)就是一段特定功能的代码块.方法提高程序的复用性和可读性. 比如,有了方法,我们可以把要重复使用的一段代码提炼出来,然后在每个需要执行这段代码的地方去调用即可. 2 ...
- FreeModBus源码解析(1)---开篇
一.设计思想 任何通信协议的实现都是基于状态机的设计思想,就是来了一串数据判断是是干啥的在调用相应的处理函数只不过高手一般采用回调处理. 如果你熟悉了回调.源码里的状态机的实现又可以理解,那么恭喜你已 ...
- vue的插件使用
插件通常是为Vue添加全局功能,vue的官网介绍了5中添加插件的方法. vue的插件有个公开方法install.第一个参数是Vue构造器,第二个参数是一个可选的选项对象. 在plugin.js中可以这 ...
- Logback,SLF4J,Log4J2。了解它们并学习如何使用。(翻译)
背景 如果您正在或在任何Java项目上工作,则可能已记录了一些debug,error或info语句以进行调试或跟踪.通过将库记录到磁盘或其他某种介质上的文件中来写这些语句. 日志记录是任何项目的关键方 ...