SQL存储过程


-- 创建存储过程 (无参)
create procedure sp_pro1()

select count(*) from student;

-- 调用存储过程
call sp_pro1();


-- 创建带参数的存储过程
-- 输入参数
create procedure sp_pro2(typeid int)
BEGIN
if typeid=1 THEN
select * from score where cid='01' order by mark desc limit 0,3;
elseif typeid=2 THEN
select * from score where cid='02' order by mark desc limit 0,3;
end if;
end;

call sp_pro2(1);

-- 输出参数
create procedure sp_pro3(typeid int ,out mycount int )
BEGIN
if typeid=1 THEN
select count(*) into mycount from score where cid='01' and mark>90;
elseif typeid=2 THEN
select count(*) into mycount from score where cid='02' and mark>90;
end if;
end;

-- 调用带有输出参数的存储过程的时候 输出参数前要加@
call sp_pro3(1,@mycount);
select @mycount;

 

posted @ 2022-11-06 23:33  呆萌老师  阅读(34)  评论(0编辑  收藏  举报