sql 存储过程(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
参考资料
SQL存储过程使用介绍.csdn博客
SQL中存储过程是干什么用的
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
数据库存储过程的实质就是部署在数据库端的一组定义代码以及SQL。将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。
扩展资料:
SQL中存储过程优点:
1、重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
2、减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
3、安全性。参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
4、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
参考资料来源:百度百科-存储过程
SQL存储过程是什么
就是在sql里面,可以执行的一段程序代码,就好比软件开发,就是一段代码,来处理一些事情,sql的存储过程就是一段代码,来处理一些事情,可以被调用执行,也可以在定时器里面调用来定时处理
在SQL中存储过程分为哪五类
1、目录存储过程
例如:sp_columns返回当前环境中可查询的指定表或视图的列信息。
sp_tables返回当前环境下可查询的对象的列表(任何可出现在FROM子句中的对象)。
2、复制类存储过程
例如:sp_addarticle创建项目并将其添加到发布中。此存储过程在发布服务器的发布数据库上执行。
3、安全管理类存储过程
例如:sp_addrole在当前数据库创建新的Microsoft SQL Server角色。
sp_password添加或更改Microsoft SQL Server登录的密码。
4、分布式查询存储过程
例如:sp_foreignkeys返回引用主键的外键,这些主键在链接服务器中的表上。
sp_primarykeys返回指定远程表的主键列,每个键列占一行。
5、扩展存储过程
例如:xp_sendmail向指定的收件人发送邮件和查询结果集附件。
xp_startmail启动SQL邮件客户端会话。
存储过程的特点
1、存储过程在服务器端运行,执行速度快。
2、存储过程执行一次后,其执行驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。
3、确保数据库的安全。使用存储过程可以完成所有的数据库操作。
4、降低网络负载,提高效率。
5、可以接受用户参数,亦可返回参数。
6、作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。
Sql 存储过程
sql语句执行的时候要先编译,然后执行。存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
sql 存储过程 概念
在关系数据库中,SQL语言是应用程序和数据库管理系统之间的主要交流方法,使用SQL语言编写代码时,可以用两种方法存储和执行代码。一种是在客户端存储代码,并创建向数据库管理系统发送SQL命令并处理返回结果的应用程序;第二种是将这些SQL语句存储在数据库管理系统中,这些存储在数据库管理系统中的Sql语句就是存储过程,然后再创建执存储过程并处理返回结果的应用程序。例如:你想在很多表中取某些记录,如果用SQL语言的话很长很复杂,你可以在数据库里编写一个存储过程,这时你用VB,C语言编写的应用程序代码里就只要给出存储过程的名称就行了
什么是SQL的存储过程
sql存储过程说简单点就是一个在t-sql下用户可以自行定义的函数,但是与一般的函数也有不同的地方,比如它的返回值只能return(int类型),如果你要输出什么信息的话只能用output.这也是存储过程的一个特色吧,设定的参数可以有输出。讲起来有点抽象,给你个例子看看吧!首先创建一个存储过程createprocedurecunchuguocheng@aint,@bint,@cintoutputasbeginselect@c=@a+@breturn(0)end然后调用这个存储过程declare@valueint,--返回值@cint--结果值exec@value=cunchuguocheng2,2,@coutputselect@valueas返回值select@cas结果值程序写的很简单,你运行一下我想你就会对存储过程有所了解了。
更多文章:

电脑浏览器怎么返回到前一页?oppor15手机怎么返回上一页
2025年4月10日 14:20

mongodb查询(mongodb 查询求助,嵌套数组里面查东西)
2025年3月3日 20:30

basic语言解释程序属于(什么是BASIC语言有什么用分种类的吗)
2025年2月10日 10:50

php文件转换成mp4(如何将视频文件改为“.mp4”类型)
2025年2月16日 04:40

endless rain(endless rain表达什么情感)
2025年2月14日 06:00

文字上下滚动代码(VB.NET中,如何编写代码使文字在窗口中上下循环滚动)
2025年4月6日 09:30