SQL中存储过程怎么使用?

1.简单存储过程:

1.创建存储过程

createprocedureGetUsers()

begin

select*fromuser;

结束;12345

2.调用存储过程

callGetUsers();12

3.删除存储过程

dropprocedureifexistsGetUsers;

2.带参数的存储过程

1类型的PassfromStoredprocedures和INOUT(PassfromStoredprocedures)存储过程的代码在BEGIN和END语句中获取值并保存然后放入适当的位置变量(通过指定INTO关键字)。

2以下存储过程接受三个参数,用于获取用户表中的最小、平均和最大分数,每个参数都必须参数具有特定类型(decimal(8,2))。
OUT关键字表示相应的参数用于从存储过程中输出

createprocedureGetScores(

outminScoredecimal(8,2),

outavgScoredecimal(8,2),

outmaxScoredecimal(8,2)

)

开始

selectmin(score)intominScorefromuser;

selectavg(score)intoavgScorefromuser;

selectmax(score)intomaxScorefromuser;

selectavg(score)intoavgScorefromuser;

selectmax(score)intomaxScorefromuser;

>

结束;1234567891011

3.要调用这个存储过程,3个变量必须指定名称(所有MySql变量必须以@开头),如下所示:

callGetScores(@minScore,@avgScore,@maxScore);12

4该调用不会产生任何输出,而仅将调用结果分配给调用中传递的@minScore变量。
@avgScore,@maxScore,则可以调用并显示变量的值:

select@minScore,@avgScore,@maxScore;

5.使用IN参数输入用户ID并返回用户名:

createprocedureGetNameByID(

inuserIDint,

outuserNamevarchar(200)

)

开始

selectnamefromuser

whereid=userID

intouserName;

end;12345678910

6.调用存储过程:

callGetNameByID(1,@userName);

select@userName;123

sqlcall语句用法

sqlcall语句的用法:CALL语句调用CREATEPROCEDURE定义的存储过程。
如果存储过程没有参数。
可以不带括号调用它。
换句话说,CALLp()和CALLp是等效的。
CALL可以使用声明为OUT或INOUT的参数将值返回给其调用者。
当程序返回时,客户端程序还可以检索受例程中执行的最后一条语句影响的行数。
CALL可以使用声明为OUT或INOUT的参数将值返回给其调用者。
当程序返回时,客户端程序还可以获得例程中执行的最后一条语句影响的行数。
MySQL调用存储过程调用;所以MySQL用来执行存储过程的语句是CALL。
CALL接受存储过程的名称以及需要传递给它的任何参数:CALL过程名称(参数)。

sql调用已经建立的存储过程

实现方法及详细过程步骤如下:

1第一步,创建存储过程。
存储过程的主要目的是将新数据输入到如下图所示的“精研”表中,并进行下一步。
编码,并验证执行是否成功。
现在数据库中已经存储了如下图所示的进程资源“sp_JY”,则进行下一步。

如下图所示,只有三行数据,继续下一步。

输入call”关键字以及存储过程的名称。
当然,如果有参数的话,就需要带一个参数。
看下面的代码,然后走

再次查看数据表,可以看到当前数据已经是4条,这说明调用存储过程已经成功插入新数据了。
数据,如下图所示,进行下一步/p>

6下面的存储过程使用select语句返回表数据如图所示,继续下一步问题解决