mysql 存储过程创建程
2017-10-29 12:54
239 查看
创建存储过程的语法格式:
create procedure 存储过程名(参数1,参数2.。。。。)
begin
//sql代码
end;
存储过程参数分为输入参数(in)、输出参数(out)、输入输出(output) 在参数不输入参数类型默认为输入(in)
如果存储中begin 和end 中只含有一条语句的以省略begin和end
说明:(1)存储过程中,可以有各种编程元素:变量,流程控制、函数调用
(2) 还可以有增删改查等mysql语句
(3)select(或show、或desc)会作为存储过程执行后的“结果集”返回;
(4)形参是可以设定数据的“进出方向的(既是参数为输入(in)、输出(out)、还是输入输出参数(output))”
创建简单的存储过程:
1、无参的语句的存储过程
create procedure p1()
begin
SELECT 'procedure_test';
end;
含有一条语句的也可以写成如下样式
create procedure p1()
SELECT 'procedure_test';
调用p1存储过程:call p1();
2、创建含有参数的存储过程
create procedure p2(a VARCHAR(30))
BEGIN
if a="yyyy" THEN
SELECT test.name,test.pwd from user_info where test.name=a;
ELSE
SELECT test.name,test.pwd from user_info AS test;
END if;
END;
调用储存过程
//设置传的参数值,将参数出入存储过程调用处
set @df="uu";
CALL p2(@df);
set @df="yyyy";
CALL p2(@df);
3、含有输出参数的存储过程:
create procedure p3(a INT,out b INT)
BEGIN
declare i int DEFAULT 1;//使用declare声明变量
aa:LOOP//sql中的循环 aa循环为标签
SET b=i+a;
IF b>a THEN
LEAVE aa;
END if;
END LOOP;
SELECT b;
END;
调用方式:
set @inParam=9;//设置输入参数
set @outParam=0;//设置输出参数的初始值
CALL p3(@inParam,@outParam);//调用存储过程传参数
SELECT @outParam;//查询存储过程结果
create procedure 存储过程名(参数1,参数2.。。。。)
begin
//sql代码
end;
存储过程参数分为输入参数(in)、输出参数(out)、输入输出(output) 在参数不输入参数类型默认为输入(in)
如果存储中begin 和end 中只含有一条语句的以省略begin和end
说明:(1)存储过程中,可以有各种编程元素:变量,流程控制、函数调用
(2) 还可以有增删改查等mysql语句
(3)select(或show、或desc)会作为存储过程执行后的“结果集”返回;
(4)形参是可以设定数据的“进出方向的(既是参数为输入(in)、输出(out)、还是输入输出参数(output))”
创建简单的存储过程:
1、无参的语句的存储过程
create procedure p1()
begin
SELECT 'procedure_test';
end;
含有一条语句的也可以写成如下样式
create procedure p1()
SELECT 'procedure_test';
调用p1存储过程:call p1();
2、创建含有参数的存储过程
create procedure p2(a VARCHAR(30))
BEGIN
if a="yyyy" THEN
SELECT test.name,test.pwd from user_info where test.name=a;
ELSE
SELECT test.name,test.pwd from user_info AS test;
END if;
END;
调用储存过程
//设置传的参数值,将参数出入存储过程调用处
set @df="uu";
CALL p2(@df);
set @df="yyyy";
CALL p2(@df);
3、含有输出参数的存储过程:
create procedure p3(a INT,out b INT)
BEGIN
declare i int DEFAULT 1;//使用declare声明变量
aa:LOOP//sql中的循环 aa循环为标签
SET b=i+a;
IF b>a THEN
LEAVE aa;
END if;
END LOOP;
SELECT b;
END;
调用方式:
set @inParam=9;//设置输入参数
set @outParam=0;//设置输出参数的初始值
CALL p3(@inParam,@outParam);//调用存储过程传参数
SELECT @outParam;//查询存储过程结果
相关文章推荐
- Mysql存储过程的创建,调用和三种参数类型的解释说明
- mysql创建存储过程及事件模板
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- mysql存储过程的创建,删除,调用及其他常用命令
- Mysql创建带参的存储过程
- MySQL存储过程的创建及调用
- Mysql创建存储过程和函数基础总结
- MYSQL5.6创建存储过程和触发器
- linux系统下无法创建mysql存储过程问题
- mysql 存储过程创建游标时,取值为空 需要定义别名
- MySQL 5.1 无法创建、修改存储过程的解决(简单问题)
- mysql 创建存储过程权限问题
- Navicat 工具创建Mysql存储过程
- iBatis调用存储过程以及MySQL创建存储过程
- mysql存储过程创建分表00-99
- MySQL存储过程的创建及调用
- MySQL 存储过程创建、调用
- MYsql和oracle的存储过程的创建
- mysql的存储过程,视图的创建