机房重构——存储过程

    原来只是见过存储过程这几个字,知道有这么一个东西,但并未真正揭开它的面纱去真正了解它,但是在敲机房的时候就遇到了难题,要修改数据库中多张表的数据,使用SQL语句的话会很复杂,究竟什么可以让我们的效率提高呢?存储过程可以做到,这就迫使我不得不去再次触碰存储过程。

    定义:大型数据库中,一组完成特定功能SQL语句的集合。相当于就是将原本需要再D层多次写的SQL语句,在数据库中写到了一块。

    何时才会用到存储过程,我们从定义中就能看出存储过程是SQL语句的集合,当我们使用的SQL语句复杂时,使用存储过程能够简化我们的工作。对于复杂程度我们要有很好的估量,适时的使用存储过程,并不是所有的都用到存储过程就非常好。

    下面我就以注册卡为例来说明一下如何使用存储过程:

USE 
/****** Object:  StoredProcedure [dbo].[PROC_Register]    Script Date: 03/15/2015 15:32:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<sisi>
-- Create date: <2015-3-9 12:02:28>
-- Description:	<注册>
-- =============================================
ALTER PROCEDURE [dbo].[PROC_Register]
	-- Add the parameters for the stored procedure here
	@cardID char(10),
	@studentID char(10),
	@account char(10),
	@cardType char(10),
	@usingState char(10),
	@remark varchar(50),
	@registrationDate char(10),
	@registrationTime char(10),
	@UserID char(10),
	@studentName char(10),
	@sex char(10),
	@department char(10),
	@grade char(10),
	@studentclass char(10),
	@RechargeDate char(10),
	@RechargeTime char(10),
	@RechargeMoney decimal(18,0)
AS
BEGIN
	--添加卡表
	insert into T_CardInfo (cardID ,studentID ,account,cardType,usingState ,remark,registrationDate ,registrationTime ,UserID ) values (@cardID,@studentID,@account,@cardType,@usingState ,@remark,@registrationDate ,@registrationTime ,@UserID )
	--添加学生表
	insert into T_StudentInfo (studentID,studentName ,sex,department ,grade,studentclass )values (@studentID,@studentName,@sex,@department ,@grade,@studentclass )
	--添加到充值记录表
	insert into T_RechargeRecord (cardID,RechargeDate ,RechargeTime ,RechargeMoney ,UserID )values (@cardID,@RechargeDate,@RechargeTime ,@RechargeMoney,@UserID )
END
     看到存储过程,这另我想到我们经常用到的函数,函数也能够实现某种功能,它们二者有何区别呢?

        

    通过上面的对比可能对存储过程有了更深的理解,函数我们已经学过并且经常使用,通过将存储过程与函数联想到一起,这样就不会再惧怕它了,我们并不是没有学过,只是可能还没有发现自己已经见过,要从已有的知识中发掘陌生事物的原型。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值