存儲過程在人事管理子系統(tǒng)中的應(yīng)用

        發(fā)布時間:2019-08-14 來源: 人生感悟 點擊:


          [摘 要]分析了存儲過程的特性和優(yōu)勢,總結(jié)出存儲過程將提高數(shù)據(jù)庫管理系統(tǒng)的效率和性能,在人事管理子系統(tǒng)中利用存儲過程實現(xiàn)復(fù)雜報表中的數(shù)據(jù)統(tǒng)計功能,并給出存儲過程的具體實現(xiàn)。
          [關(guān)鍵詞]人事管理子系統(tǒng) 存儲過程 VB
          
          作者簡介:葛明明(1977-),女,漢族,吉林長嶺人,助教,工學(xué)碩士,主要研究方向:軟件工程與軟件自動化;龔自霞(1978-),女(漢族),安徽巢湖人,助教,工學(xué)碩士,主要研究方向:計算機網(wǎng)絡(luò)技術(shù)及其應(yīng)用。
          
          為了加快校園信息電子化的進程,我院立項開發(fā)OA校園辦公自動化系統(tǒng)。項目主要涉及教學(xué)運行、科研管理、人事管理、教材管理、財務(wù)管理等幾個子系統(tǒng)。系統(tǒng)采用客戶/服務(wù)器(C/S)的工作模式,服務(wù)器端主要用于存放數(shù)據(jù),客戶端的應(yīng)用程序負責數(shù)據(jù)處理。如何提高應(yīng)用程序的執(zhí)行效率、提高整個管理系統(tǒng)的性能是個重要問題。
          通過實踐驗證,在開發(fā)中適當?shù)氖褂么鎯^程將減少網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)暮臅r,有利于提高整個系統(tǒng)的性能,并對于系統(tǒng)和功能的修改和維護也有很大幫助。本文將對存儲過程及其在人事管理子系統(tǒng)中的應(yīng)用進行分析,并提供人事管理模塊中利用存儲過程制作復(fù)雜報表的應(yīng)用實例。
          
          一、存儲過程
          所謂存儲過程(Stored Procedure),就是存儲在數(shù)據(jù)庫服務(wù)器上的一組預(yù)先編譯好的SQL語句,就好像一個已經(jīng)定義好的函數(shù)。它具有以下幾個特性:
          執(zhí)行速度快,存儲過程在創(chuàng)建的時候就經(jīng)過了語法檢查和性能優(yōu)化,它在第一次調(diào)用后就駐留內(nèi)存中,不必再經(jīng)過編譯和優(yōu)化,而一般SQL語句每執(zhí)行一次就編譯一次;
          當對數(shù)據(jù)庫進行復(fù)雜操作時,可將此復(fù)雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務(wù)處結(jié)合一起使用;
          存儲過程可以重復(fù)使用;
          安全性高,可設(shè)定只有某此用戶才具有對指定存儲過程的使用權(quán)。
          
          二、使用存儲過程的優(yōu)勢
          存儲過程在創(chuàng)建的時候就被數(shù)據(jù)庫引擎編譯,編譯后生成的結(jié)果已經(jīng)存放在服務(wù)器端。在存儲過程中可以包含大量的SQL語句,但存儲過程是作為一個獨立的單位來使用的。在調(diào)用的時候只用一個語句就可以實現(xiàn),所以大大減少了網(wǎng)絡(luò)上數(shù)據(jù)的傳輸。
          利用存儲過程,應(yīng)用程序只需傳送存儲過程名和相應(yīng)的參數(shù),服務(wù)器端執(zhí)行完存儲過程只發(fā)送給客戶端執(zhí)行的結(jié)果,避免客戶端和服務(wù)器端之間頻繁交換數(shù)據(jù)造成的網(wǎng)絡(luò)延時甚至網(wǎng)絡(luò)堵塞。
          存儲過程是存儲在數(shù)據(jù)庫服務(wù)器上的一組預(yù)編譯SQL語句,將SQL語句和源代碼分離,使得SQL語句和源代碼分開維護成為可能。可以按照不同的功能模塊,設(shè)計不同的存儲過程以供使用。
          盡管調(diào)試存儲過程比較困難,但對于使用頻率高或者結(jié)構(gòu)復(fù)雜的SQL語句適合采用存儲過程來編寫。
          人事管理子系統(tǒng)中需要生成比較復(fù)雜的統(tǒng)計報表。并且報表的格式和數(shù)據(jù)要求每年總有一點變動。為了避免修改程序去升級每個客戶端,通過存儲過程,只需發(fā)一條SQL指令,修改存在服務(wù)器上的存儲過程就可以實現(xiàn),對于客戶端卻沒有影響。
          
          三、在人事管理系統(tǒng)中使用存儲過程統(tǒng)計報表數(shù)據(jù)
          由于報表涉及大量統(tǒng)計工作,表格中的每個單元格數(shù)據(jù)都需要通過計算來獲得,所以實現(xiàn)的策略是使用存儲過程作為水晶報表的數(shù)據(jù)源,存儲過程的任務(wù)就是在每一次被調(diào)用時生成一張臨時表來存儲報表中需要的數(shù)據(jù),并進行計算將統(tǒng)計數(shù)據(jù)填充到臨時表中。
          由于篇幅限制,此處僅分析涉及“專業(yè)技術(shù)人才管理”報表的存儲過程。
          系統(tǒng)使用的開發(fā)工具有VB6+SQL server 2000+Excel 2000+水晶報表。
          存儲過程涉及的數(shù)據(jù)表的主表是教師基本情況表,還有性別表、民族表、政治面貌表、學(xué)位表、學(xué)歷表、職稱表、職務(wù)表等副表,為了便于維護信息,主表中涉及的性別、民族、政治面貌等信息存儲的是對應(yīng)編號,副表中存儲的信息是對應(yīng)的編號、名稱,所采用的編碼參考了國家標準。主表(教師基本情況表)的表結(jié)構(gòu)中相關(guān)字段設(shè)計如下:
          
         。ㄒ唬┰诜⻊(wù)器端創(chuàng)建存儲過程
          1.創(chuàng)建存儲過程ZYJSRCQK:
          負責生成臨時表#ZYJSRCQKB,并調(diào)用存儲過程SEARCH實現(xiàn)統(tǒng)計報表需要的數(shù)據(jù)。
          Create Procedure ZYJSRCQK
          As
          BEGIN
          create table #ZYJSRCQKB(--創(chuàng)建臨時表
          XMvarchar(40) null,--項目
          DMvarchar(10) null, --代碼
          C1INTnull,--合計
          C2INTnull,--女
          C3INT null, --少數(shù)民族
          C4INT null,--中共黨員
          C5INT null,--博士
          C6INT null,--碩士
          C7INT null,--港澳臺及外籍人士
          C8INT null,--專業(yè)技術(shù)職務(wù)高級
          C9INT null,--專業(yè)技術(shù)職務(wù)正高級
          C10INT null,--專業(yè)技術(shù)職務(wù)中級
          C11INT null,--專業(yè)技術(shù)職務(wù)初級
          C12INT null,--學(xué)歷研究生
          C13INT null,--學(xué)歷大學(xué)本科
          C14INT null,--學(xué)歷大學(xué)?
          C15INT null,--學(xué)歷中專
          C16INT null,--學(xué)歷高中及以下
          C17INT null,--年齡35及以下
          C18INT null,--年齡36~40
          C19INT null,--年齡41~45
          C20INT null,--年齡46~50
          C21INT null,--年齡51~54
          C22INT null,--年齡55及以上
          PX INT NULL) --排序字段
          Insert into #ZYJSRCQKB(PX,XM,DM,
          C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,
          C15,C16,C17,C18,C19,C20,C21,C22) EXEC SEARCH """其中,在管理崗位工作的""","""2""","GW=""管理""","2"
          insert into #ZYJSRCQKB(PX,XM,DM) values(3,"其中,具有職業(yè)資格的","3")
          insert into #ZYJSRCQKB(PX,XM,DM) values(4,"一、專業(yè)技術(shù)職務(wù)","-")
          insert into #ZYJSRCQKB(PX,XM,DM,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,
          C15,C16,C17,C18,C19,C20,C21,C22) EXEC SEARCH """高級職務(wù)""","""4""","SUBSTRING(ZC,3,1)=""1"" OR SUBSTRING(ZC,3,1)=""2""","5"
          insert into #ZYJSRCQKB(PX,XM,DM,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,

        相關(guān)熱詞搜索:人事管理 存儲過程 系統(tǒng)中的應(yīng)用

        版權(quán)所有 蒲公英文摘 www.zuancaijixie.com
        91啦在线播放,特级一级全黄毛片免费,国产中文一区,亚洲国产一成人久久精品