SQL 中存储过程怎么使用?

时间: 发布人:WEI扭蛋机

SQL 中存储过程怎么使用?

已解决问题

谷歌WEI扭蛋机用户在提交了关于“花冠SQL 中存储过程怎么使用?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T04:35:04。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你无异于雪中送炭,让我感激涕零 !

希望以下的回答,能够帮助你。

第1个回答

用户名:zixingrensheng  

一、简单团审的储存过程:

1、创建一个存储过程

createproce**reGetUsers()

begin

select*fromuse文阻r;

end;12五沉345

2、调用存皇伤脚晶扬布每储过程

callGetUsers();12

3、删除存储过程

dropprocedureifexistsGetUsers;

二、带参数的存储过程

1、MySql支持IN(传递给存储过程),OUT(从存储过程传出)和INOUT(对存储过程传入和传出)类型的参数,存储过程的代码位于BEGIN和END语句内,它们是一系列SQL语句,用来检团农名索值,然州基后保存到相应的变量(通过指定INTO关键字);

2、下面的存储过程接受三个参数,分别用于获取用户表的最小,平均,最大分数,每个参数必须具有指定的类型,这里使用十进制值(decimal(8,2)),关键字OUT指出相应的参数用来从存储过程传出

createprocedureGetScores(

outminScor来自edecimal(8,2),

out**gScoredecimal(8,2),

outmaxScoredecimal(8,2)

)

begin

selectmin(score)intominScorefromuser;

selectavg(score)intoavgScorefromuser;

selectm问答ax(score)令率丝冷川呀intomaxScorefromuser;

end;1234567891011

3、调用此存储过程,必须指定3个变量名(所有MySql变量都必须以@开始),如下所示:

callGetSc者过额并ores(@minScore,@**gScore,@maxScore);12

4、该调用并没有任何输出,只是把调用的结果赋给了调用时传入的变量@minScore,@**gScore,@maxScore,然后即可调用显示该变量的值:

select@m审损批北旧参inScore,@avgScore,@maxScore;

5、使用IN参数,输入一个用户i东握概省翻电践d,返回册培谨该用户务湖雨内中棚的名字:

createproce**reGetNameByID(

inuserIDint,

outuserNamevarchar(200)

)

begin

selectnamefromuser

whereid=userID

intouserName;

end;12345678910

6、调用存储过程:

callGetN体线鱼先ameByID(1,@userName);

select@userName;123

参考资

SQL存储过程使用介绍.csdn博客[引用时间2017-12-31]