当前位置: 首页 > 科技观察

机房改造-存储过程做红娘

时间:2023-03-17 00:20:39 科技观察

以下是帅哥在机房改造(简称重构)中借助存储过程红娘(简称存储)的心得体会与数据库交互之美(简称:图书馆),分享给大家。那是一个阳光明媚的日子,重建的帅哥独自走在初夏的校园里,校园里弥漫着清香。他一直在想着怎么和库美美相处得更轻松一些。重构之前,他去找库美美总是需要先打电话(链接一个表),然后问库美女在哪里(链接另一个表),然后再去找库美女(两个表都存数据);重构绞尽脑汁终于想出一个办法,他直接通过手机里的GPS(存储过程)定位到了库美丽的位置,然后突然给了库美丽一个惊喜,所以一来二去,他们终于走到了一起。一、存储媒人的优点:1、存储过程的能力大大增强了SQL语言的功能性和灵活性。2、数据的安全性和完整性得到保证。3、在运行存储过程之前,数据库已经分析了它的句法语法,并提供了优化的执行计划。4、可以减少网络流量。5、将体现企业规则的操作程序放入数据库服务器进行集中控制。当企业规则发生变化时,只需更改服务器中的存储过程,无需修改任何应用程序。二、存储红娘的缺点:1、调试麻烦。2.迁移问题。3.重新编译问题。4、大批量使用维护麻烦。3、例子:下面是重构注册中的存储过程:基本原理是先把涉及到的表中的所有字段写出来(方便D层调用),然后把每个表分开写出字段,***通过判断是否需要同时往三个表中存入信息,要么不存,要么存。--===============================================--作者:<马康>--创建时间:<2015-4-26>--描述:<存储过程+事务实现学籍卡number,涉及Card_Info、Student_Info、ReCharge_Info表>--=================================================ALTERprocedure[dbo].[PROC_AddCard]@CardIDchar(10),@Cashchar(10),@Statuschar(10),@Creatorchar(10),@StudentIDchar(10),@StudentNamechar(10)、@Sexchar(10)、@Departmentchar(10)、@Gradechar(10)、@IClasschar(10)、@OnDatechar(10)、@OnTimechar(10)、@Explainchar(10)、@AddCashchar(10),@IDatechar(10)),@Timechar(10)ASBEGINdeclare@Err1int,@Err2int,@Err3intbegintransactionINSERTintoCard_Info(CardID,Cash,Status,Creator)VALUES(@CardID,@Cash,@Status,@Creator)set@Err1=@@ERRORINSERTintoStudent_Info(StudentID,CardID,StudentName,Sex,Department,Grade,IClass,OnDate,OnTime,Explain,Status,Creator)VALUES(@StudentID,@CardID,@StudentName,@Sex,@Department,@Grade,@IClass,@OnD吃了,@OnTime,@Explain,@Status,@Creator)set@Error2=@@ERRORINSERTintoReCharge_Info(CardID,StudentID,AddCash,IDate,Time,Creator,Status)VALUES(@CardID,@StudentID,@AddCash,@IDate,@Time,@Creator,@Status)set@Err3=@@ERRORif@Err1=0and@Err2=0and@Err3=0COMMITTRANSACTIONelseROLLBACKTRANSACTIONend注:1、***行的ALTER为修改。如果要创建它,应该改为:CREATE2。如果表中有自增标识字段,这里不需要填写。3、主要是程序实体层中的属性需要和表中的属性统一。下面是我的D层修改的一些代码:.StudentID),NewSqlParameter("@StudentName",student.StudentName),NewSqlParameter("@Sex",student.Sex),NewSqlParameter("@Department",student.Department),NewSqlParameter("@Grade",student.Grade),NewSqlParameter("@IClass",student.IClass),NewSqlParameter("@OnDate",student.OnDate),NewSqlParameter("@OnTime",student.OnTime),NewSqlParameter("@Explain",student.Explain),NewSqlParameter("@Status",student.Status),NewSqlParameter("@Creator",student.Creator),NewSqlParameter("@CardID",card.CardID),NewSqlParameter("@Cash",card.Cash),NewSqlParameter(“@AddCash”,ReCharge.AddCash),NewSqlParameter(“@IDate”,ReCharge.IDate),NewSqlParameterr("@Time",ReCharge.Time)}4.小结:最近学习了存储过程,给自己搭建机房收费系统带来了很多方便,也让我进一步了解了电源SQLServer的使用,增加了我的求知欲,也增强了我继续前行的信心。希望作者的正能量能够传递给所有的读者。