存储过程
第一步 创建存储过程
CREATE procedure 存储过程名字(参数,参数)
begin
select id from ab_group_address_book;//代码
end
存储过程的参数分为三种
输入(in),输出(out),输入输出(inout),默认是输入参数
如果存储过程中就一条语句 begin和end 可以省略不写
第二步调用 存储过程
call 存储过程名字()
案例
1 查询某个表某的数据
CREATE procedure name()
begin
select id from ab_group_address_book;
END
调用
call name()
2 存储过程传参
判断传入的值是 是就查询>100的数据 不是就查询<=100的数据
CREATE procedure name(ida INT)
begin
if ida=100 THEN
select id from ca where id>100;
ELSE
select id from ca where id<=100;
end if;
END
call name(100)
第三步删除存储过程
dr drop procedure 存储过程名
第四步创建复制存储过程
declare声明局部变量
set @name=''
select @name;
语法 :declare 变量名 数字类型 【value】
通过 select 字段 into 变量或 set给变量复制
变量名不可和表里的字段名一样
案例 1 计算1 到n的和
CREATE procedure name(ida INT)
begin
DECLARE i int DEFAULT 1;
DECLARE s int DEFAULT 0;
while i<=ida do
set s=s+i;
set i=i+1;
end while;
select s;
END
call name(100)
案例 2 输出参数的存储过程
变量前只需加一个@符合
使用变量来输入输出
CREATE procedure a(in i INT,out j int )
begin
set j=i*i;
END
set @j=0;call a(5,@j);select @j;
案例3 输入 输出参数
使用变量来输入输出
CREATE procedure name(inout j int )
begin
set j=j*j;
select j;
END
set @j=5;call name(@j);

浙公网安备 33010602011771号