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存储过程简单实例: ...
随机推荐
- 实现 add()(1,2)(3,4)(7,8,9)()
function add(){ var sum=0; function inner(pre,cur){ return pre+cur; } sum=Array.prototype.slice.call ...
- gitlab配置邮箱
邮件测试Notify.test_email('xx@qq.com', 'Message Subject', 'Message Body').deliver_now 参考 https://www.cen ...
- Python Mock 的入门
Mock是什么 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西.准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代 ...
- 为什么 generator 忽略第一次 next 调用的参数值呢?
首先要理解几个基本概念. 执行生成器不会执行生成器函数体的代码,只是获得一个遍历器 一旦调用 next,函数体就开始执行,一旦遇到 yield 就返回执行结果,暂停执行 第二次 next 的参数会作为 ...
- 【问】:和=在map里面的区别
- 神州优车挂牌新三板!专车B2C对决C2C将愈发狂暴?
近日,全国中小企业股份转让系统公告显示,神州优车已获准在新三板挂牌.神州优车作为神州专车的主营主体,此次挂牌新三板意味着神舟专车成功突围,成为"专车第一股".相比滴滴.Uber中国 ...
- Spark中Task数量的分析
本文主要说一下Spark中Task相关概念.RDD计算时Task的数量.Spark Streaming计算时Task的数量. Task作为Spark作业执行的最小单位,Task的数量及运行快慢间接决定 ...
- 前端JS题
题目如下: function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function ( ...
- LeetCode--链表3-经典问题
LeetCode--链表3-经典问题 题1 反转链表 第一次代码超出时间限制 原因是,反转之后链表的尾部节点和头结点连上了 /** * Definition for singly-linked lis ...
- 前端进阶系列(三):HTML5新特性
HTML5 是对 HTML 标准的第五次修订.其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入.HTML5 的语法是向后兼容的.现在国内普遍说的 H5 是包 ...