in 表示传入的参数
( in 参数名1 参数类型,in 参数名2 参数类型,....) |
delimiter $
create procedure func(in id int)
begin
select * from 表 where Id = id;--查询Id=id的信息
end $
delimiter;
call func(101);--调用
out 表示从内部传值给调用者
( out 参数名1 参数类型,in 参数名2 参数类型,....) |
delimiter $
--传入id,查询返回name
create procedure func(in id int,out name varchar(20))
begin
select ename into name from 表 where Id = id;--查询Id=id的ename,并将值赋给name
end $
delimiter;
call func(101,@name);--调用
select @name;
inout 综合了上面2种特性
( inout 参数名1 参数类型,in 参数名2 参数类型,....) |
delimiter $
create procedure func(in num int)
begin
set num = num * 10;
end $
delimiter;
set @inout_num = 2;
call func(@inout_num);
select @inout_num;