<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                以下是本人親眼所見的機房重構帥小伙(簡稱重構),借助存儲過程媒人(簡稱存儲)與數據庫大美女(簡稱:庫)交往的經歷,和大家分享一下。 那是一個風和日麗的白天,重構帥小伙獨自一人走在處處飄香的初夏的校園中,他一直在思考,如何與庫美女更容易的交往呢?以前重構去找庫美女的時候總是需要先打一個電話(鏈接一個表),再問問庫美女在哪里(再鏈接一個表),然后才能去找庫美女(向兩個表中存入數據);重構絞盡腦汁終于想出了一個辦法, 他通過手機中的GPS(存儲過程)直接定位庫美女的位置,然后突然給庫美女一個驚喜,這樣一來二去,他倆終于最后走在了一起。 **一、存儲媒人優點:** ? ? ? ??1.存儲過程的能力大大增強了SQL語言的功能和靈活性。 ? ? ? ? 2.可保證數據的安全性和完整性。 ? ? ? ? 3. 在運行存儲過程前,數據庫已對其進行了語法和句法分析,并給出了優化執行方案。 ? ? ? ? 4.可以降低網絡的通信量。 ? ? ? ? 5.使體現企業規則的運算程序放入數據庫服務器中集中控制,當企業規則發生變化時在服務器中改變存儲過程即可,無須修改任何應用程序。 **二、存儲媒人缺點:** ? ? ? ? 1.調試麻煩。 ? ? ? ? 2.移植問題。 ? ? ? ? 3.重新編譯問題。 ? ? ? ? 4.大量使用維護麻煩。 **三、示例:** ? ? ? ? 以下是重構注冊中的存儲過程:基本原理是先將涉及的表中的所有字段寫出來(方便D層調用),再將每個表獨立出來并將字段也寫出來,最后通過判斷是否需要同時向三個表中存入信息,要么不存入,要么存入。 ~~~ <span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:SimSun;font-size:24px;">-- ============================================= -- Author: <馬康> -- Create date: <2015-4-26> -- Description: <存儲過程+事務實現學生注冊卡號,涉及到Card_Info、Student_Info、ReCharge_Info表> -- ============================================= ALTER procedure [dbo].[PROC_AddCard] @CardID char(10),@Cash char(10),@Status char(10),@Creator char(10),@StudentID char(10), @StudentName char(10),@Sex char(10),@Department char(10),@Grade char(10),@IClass char(10),@OnDate char(10), @OnTime char(10),@Explain char(10),@AddCash char(10),@IDate char(10),@Time char(10) AS BEGIN declare @Err1 int,@Err2 int,@Err3 int begin transaction INSERT into Card_Info(CardID,Cash,Status,Creator)VALUES(@CardID,@Cash,@Status,@Creator) set @Err1=@@ERROR INSERT into Student_Info(StudentID,CardID,StudentName,Sex,Department,Grade,IClass,OnDate,OnTime,Explain,Status,Creator)VALUES(@StudentID,@CardID,@StudentName,@Sex,@Department,@Grade,@IClass,@OnDate,@OnTime,@Explain,@Status,@Creator) set @Err2=@@ERROR INSERT into ReCharge_Info(CardID,StudentID,AddCash,IDate,Time,Creator,Status)VALUES(@CardID,@StudentID,@AddCash,@IDate,@Time,@Creator,@Status) set @Err3=@@ERROR if @Err1=0 and @Err2=0 and @Err3=0 COMMIT TRANSACTION else ROLLBACK TRANSACTION end</span></span> ~~~ 注意:1.第一行中的ALTER是修改,如果你要是創建的話,應該改成:CREATE。 ? ? ? ? ? 2.如果表中有自增的標識字段,不需要在這里填寫。 ? ? ? ? ? 3.主要是程序實體層中的屬性需要與表中的屬性統一。 下面是我D層中修改的一些代碼: ~~~ <span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-family:SimSun;font-size:24px;"> Dim sql As String = "PROC_AddCard" '存儲過程名 Dim sqlparams As SqlParameter() = {New SqlParameter("@StudentID", student.StudentID), New SqlParameter("@StudentName", student.StudentName), New SqlParameter("@Sex", student.Sex), New SqlParameter("@Department", student.Department), New SqlParameter("@Grade", student.Grade), New SqlParameter("@IClass", student.IClass), New SqlParameter("@OnDate", student.OnDate), New SqlParameter("@OnTime", student.OnTime), New SqlParameter("@Explain", student.Explain), New SqlParameter("@Status", student.Status), New SqlParameter("@Creator", student.Creator), New SqlParameter("@CardID", card.CardID), New SqlParameter("@Cash", card.Cash), New SqlParameter("@AddCash", ReCharge.AddCash), New SqlParameter("@IDate", ReCharge.IDate), New SqlParameter("@Time", ReCharge.Time)}</span></span> ~~~ **四、總結:** 最近學習了存儲過程,給我做機房收費系統帶來了很大的方便,也讓我進一步了解到了SQL Server的強大,更加增加了自己求知的欲望與堅強的走下去的信心,希望筆者的這些正能量能夠傳遞給所有的讀者。 如有錯誤之處歡迎指正留言。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看