SQL Server 存储过程的应用

14 篇文章 0 订阅
10 篇文章 0 订阅

    sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。程序需要用的时候直接调用就可以了,当存储过程执行一次后,可以将语句缓存,下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。


创建

以机房收费系统简单的登录为例

数据库中创建存储过程:PROC_UserLogin

CREATE PROCEDURE[dbo].[PROC_UserLogin]

@userID varchar(50),

@userPasswordvarchar(50)

AS

BEGIN

select * from T_User where userID=@userID and userPassword=@userPassword

END


当然用户登录只需要一条sql语句,不能体现存储过程的优势,但在学生注册,结账等需要对多个表进行操作时,使用存储过程使系统的运行更有效率。


D层调用存储过程

 

    ''' <summary>
    ''' 查询用户名和密码,带参
    ''' </summary>
    ''' <param name="enUser">用户实体类</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function SelectUserLogin(enUser As UserEntity) As DataTable Implements UserIDAL.SelectUserLogin
        Dim sqlHelper As New SQLHelper.SqlHelper()
        Dim strSQL As String
        Dim paras As SqlParameter()
        paras = New SqlParameter() {New SqlParameter("@userID", enUser.userID),
                                   New SqlParameter("@userPassword", enUser.userPassword)}
        'strSQL = "select * from T_User where userID=@userID And userPassword=@userPpassword"
        strSQL = "PROC_UserLogin"  '存储过程
        Return sqlHelper.ExecSelect(strSQL, CommandType.StoredProcedure, paras)
    End Function

存储过程的优点

存储过程的实质是部署在数据库端的一组定义代码以及SQL。

由此可见

存储过程增强了SQL语言的功能和灵活性

当需求或规则发生变化时,不需要在程序中修改大量的语句,只需要在服务器端修改存储过程即可。

安全性和完整性:

可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。

可以使相关的数据库操作在一起发生,从而可以维护数据库的完整性。



评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值