什么是存储过程,存储过程的优点。及使用。

本文介绍了SQL存储过程的概念及其优势,包括提升执行效率、简化复杂操作、促进代码复用及增强安全性等。此外还展示了如何创建不同类型的存储过程,例如无参数存储过程、带参数存储过程及带有输出参数的存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义:

将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。

讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊?

Microsoft公司为什么还要添加这个技术呢?

那么存储过程与一般的SQL语句有什么区别呢?

存储过程的优点:

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

3.存储过程可以重复使用,可减少数据库开发人员的工作量

4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

 

一、没有参数没有返回值的存储过程。

Create Proc use_Helloworld

as

begin  

   print 'Hello word!'

end

 

二、带参数的存储过程

-----创建一个存储过程完成计算两个数的和

 

Process proc usp_AddTwo

@number1 int,

@number2 int

as

 begin

 print @number1+@number2

end

declare  @a int=20

declare @b int=40

exec usp_AddTwo @a,@b

三、存储过程的参数问题

创建一个存储过程完成计算两个数的和,并返回两个数的和

存储过程返回值,可以使用“output”参数!!C#中的out参数

alter pro usp_AddTwo

@number1 int=200,

@number2 int= 100,

@sumTwo  int output

as

begin

set @SumTwo=@number1+@number2

end

declare @var int,

exec usp_AddTwo @number1=12345 @number2=33333 @SumTwo=@var output

print @var

存储过程的output参数是要得到返回值的,这里需要传进去一个同类型的变量来接收返回值的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值