mysql存储过程简单用法
2018-01-05 00:53
344 查看
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;
<!-- 修改数据 -->
<!-- 插入数据 -->
<!-- 简单存储过程 -->
先将结束符改成//
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 存储过程游标的简单用法
- mysql存储过程中的on duplicate key update的用法
- MySQL存储过程传参之in,out,inout参数用法
- MySQL 存储过程参数用法 in, out, inout(转)
- MySQL 存储过程的基本用法
- 存储过程简单的用法
- mysql存储过程中使用select count(*) into 变量名 from +表+ where条件的用法
- mysql存储过程之一个简单的存储过程
- MYSQL 简单的循环存储过程
- MySQL 存储过程参数用法 in, out, inout(转)
- MySql最简单的分页存储过程
- MySQL 存储过程参数用法 in, out, inout
- MySQL 存储过程的基本用法
- mysql存储过程简单学习
- mysql存储过程中like用法
- MySQL存储过程传参之in,out,inout参数用法
- mysql存储过程和函数(二)——简单自定义函数
- Python简单调用MySQL存储过程并获得返回值的方法
- mysql存储过程简单例子