如何学习sql中的存储过程(中存储过程怎么使用)
一、SQL***中存储过程怎么使用
一、简单的储存过程:
1、创建一个存储过程
create procedure GetUsers()
begin
select* from user;
end;12345
2、调用存储过程
call GetUsers();12
3、删除存储过程
drop procedure if exists GetUsers;
二、带参数的存储过程
1、MySql支持 IN(传递给存储过程), OUT(从存储过程传出)和 INOUT(对存储过程传入和传出)类型的参数,存储过程的代码位于 BEGIN和 END语句内,它们是一系列 SQL语句,用来检索值,然后保存到相应的变量(通过指定INTO关键字);
2、下面的存储过程接受三个参数,分别用于获取用户表的小,平均,大分数,每个参数必须具有指定的类型,这里使用十进制值(decimal(8,2)),关键字 OUT指出相应的参数用来从存储过程传出
create procedure GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、调用此存储过程,必须指定3个变量名(所有 MySql变量都必须以@开始),如下所示:
call GetScores(@minScore,@avgScore,@maxScore);12
4、该调用并没有任何输出,只是把调用的结果赋给了调用时传入的变量@minScore,@avgScore,@maxScore,然后即可调用显示该变量的值:
select@minScore,@avgScore,@maxScore;
5、使用 IN参数,输入一个用户 id,返回该用户的名字:
create procedure GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id= userID
into userName;
end;12345678910
6、调用存储过程:
call GetNameByID(1,@userName);
select@userName;123
二、plsql中如何执行存储过程
实现的方法和详细的*作步骤如下:
1、第一步,双击plsql图标进入登录界面,输入用户名和密码,然后传输数据库实例名称,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,单击左上角的“new”选项,然后单击“sql window”以进入数据库界面,如下图所示,然后进入下一步。
3、接着,该图是数据库存储过程的简单布局。
存在存储过程的定义,包括输入变量,输出变量等。输入变量由in定义,输出由out定义;可变部分:可以根据程序要求定义;数据处理逻辑部分:诸如添加,删除和修改差异表之类的*作;异常处理部分:处理程序异常执行时的处理。
如下图所示,然后进入下一步。
4、然后,完成上述步骤后,编写存储过程时,需要单击左上角的执行按钮或快捷键F8,然后可以在编译后调试程序。找到需要调试的存储过程,右键单击“test”,进入调试界面,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,单击左上角的调试按钮,如下图所示,然后进入下一步。
6、后,完成上述步骤后,下图中标记的区域是调试按钮,可以单步执行,跳过整个部分或跳出,如下图所示。这样,问题就解决了。
三、SQL存储过程如何调用存储过程
1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据。
2、执行这几行代码,看到执行成功,数据库里现在已经有存储过程sp_JY。
3、先看下JingYan表里目前的数组,如图,只有三行数据。
4、在mysql里,调用存储过程,只需要用call关键字,带上存储过程的名称就行了,当然有参数时,需要带个参数。代码如图
5、执行了这个存储过程的调用之后,再看下JingYan表里的数据,可以看到现在的数据已经是四条了,说明调用存储过程成功插入了一条新的数据。
6、再添加一个存储过程,该存储过程用select语句,返回表数据。
7、调用新的存储过程,可以看到结果里也是返回表数据。
四、SQL中存储过程是干什么用的
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
数据库存储过程的实质就是部署在数据库端的一组定义代码以及SQL。将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。
扩展资料:
SQL中存储过程优点:
1、重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
2、减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
3、安全性。参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
4、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
参考资料来源:百度百科-存储过程