存储过程传参

delimiter &&
create procedure proc06(in empno int )
begin
select * from emp where emp.empno=empno;
end &&
delimiter ;

call proc06(1001);

-- 封装有参数的存储过程,可以通过传入部门名和薪资,查询指定不猛,并且薪资大于指定值的员工
delimiter $$
create procedure proc07(in param_dname varchar(50),in param_sal decimal(7,2) )
begin
select * from dept a,emp b where a.deptno=b.deptno and a.dname=param_dname and b.sal>param_sal;
end $$
delimiter ;

call proc07('学工部',5000);

-- 封装有参数的存储过程,传入员工编号,返回员工名字
delimiter &&
create procedure proc08(in in_empno int,out out_ename varchar(50))
begin
select ename into out_ename from emp where empno=in_empno;
end &&
delimiter ;
call proc08(1002,@o_ename); -- 定义一个变量用来接收out的返回值
select @o_ename; -- 输出变量
 
-- 返回多个值
delimiter &&
create procedure proc09(in in_empno int,out out_ename varchar(50),out out_sal decimal(7,2))
begin
select ename,sal into out_ename,out_sal
from emp where empno=in_empno;
end &&
delimiter ;
call proc09(1002,@o_ename,@o_sal); -- 定义一个变量用来接收out的返回值
select @o_ename,@o_sal; -- 输出变量


                            inout关键字

 

 

 

 
posted @   藏进夜里躲在光下  阅读(210)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示