您的位置:首页 > 其它

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

2012-11-12 20:36 246 查看
定义:

将常用的或很复杂的工作,预先用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参数是要得到返回值的,这里需要传进去一个同类型的变量来接收返回值的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐