• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      探討自定義SQL語(yǔ)句的應(yīng)用

      2017-01-16 11:11:44何代其
      東方教育 2016年19期
      關(guān)鍵詞:探討應(yīng)用

      何代其

      摘要:在大數(shù)據(jù)肆虐的今天,數(shù)據(jù)正在迅速膨脹并變大,已經(jīng)滲透到每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,成為重要的生產(chǎn)因素,它決定著企業(yè)的未來(lái)發(fā)展,雖然很多企業(yè)可能并沒(méi)有意識(shí)到數(shù)據(jù)爆炸性增長(zhǎng)帶來(lái)問(wèn)題的隱患,但是隨著時(shí)間的推移,人們將越來(lái)越多的意識(shí)到數(shù)據(jù)對(duì)企業(yè)的重要性。

      關(guān)鍵詞:探討;自定義;SQL語(yǔ)句;應(yīng)用

      信息化越好的企業(yè),對(duì)數(shù)據(jù)會(huì)越來(lái)越重視,如何從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),最常見(jiàn)的方法莫過(guò)于使用簡(jiǎn)單的DELETE、INSERT、SELECT、UPDATE等標(biāo)準(zhǔn)SQL語(yǔ)句,要不就是技術(shù)尖端的存儲(chǔ)過(guò)程,但這兩種方法很有局限性。事實(shí)上介于標(biāo)準(zhǔn)SQL語(yǔ)句和存儲(chǔ)過(guò)程之間的自定義SQL語(yǔ)句更靈活,更方便。

      一、使用標(biāo)準(zhǔn)SQL語(yǔ)句

      標(biāo)準(zhǔn)的SQL語(yǔ)句使用方法很簡(jiǎn)單,如:SelectCommand="SELECT * FROM [manger] where ID<>1" SelectCommandType="Text",由于標(biāo)準(zhǔn)的SQL語(yǔ)句是默認(rèn)值,所以一般把SelectCommandType="Text"省略。

      二、使用存儲(chǔ)過(guò)程

      盡管存儲(chǔ)過(guò)程功能強(qiáng)大,但使用卻很簡(jiǎn)單,比如:

      SelectCommand="xytotal" SelectCommandType="StoredProcedure">

      PropertyName="SelectedValue" Type="String" />

      其中xytotal是存儲(chǔ)過(guò)程名,nf是參數(shù)。

      三、使用自定義SQL語(yǔ)句

      1.使用CAST函數(shù)構(gòu)造數(shù)據(jù)類(lèi)型

      在工資查詢(xún)時(shí),可選擇起止年月,但數(shù)據(jù)庫(kù)沒(méi)有年、月數(shù)據(jù)類(lèi)型,只有日期類(lèi)型,一般用每月的1日表示該月,因此要用年、月和“-1”日進(jìn)行構(gòu)造,即cast(@年+'-'+@月+'-1' as datetime),由此構(gòu)成Where條件。如:SelectCommand="SELECT [應(yīng)發(fā)合計(jì)],[代扣合計(jì)],[實(shí)發(fā)金額],……,[月份] FROM [simplelist] WHERE 月份>= cast(@起年+'-'+@起月+'-1' as datetime)and 月份<= cast(@止年+'-'+@止月+'-1' as datetime)"

      2.使用CASE WHEN THEN ELSE END選擇字段

      SQL命令中的case...when...then...else...end條件查詢(xún)不同于where,case...when...then...else...end在from前面,可以改變記錄中某字段的值,不能決定是否顯示該記錄;而where在from后面,不可以改變記錄中某字段的值,但可以決定是否顯示該記錄。簡(jiǎn)單地說(shuō),case是垂直篩選字段,而where是水平篩選記錄,如SelectCommand="SELECT 學(xué)院,CASE 省名 WHEN '合計(jì)' THEN 省名 ELSE 省區(qū)市 END AS 地區(qū),人數(shù) FROM totalview"。

      3.使用if else 選擇SELECT語(yǔ)句

      在就業(yè)管理系統(tǒng)中,在班級(jí)列表中,有具體班級(jí)和全部?jī)煞N情形的選項(xiàng),導(dǎo)致where條件也不同,又不能用case進(jìn)行構(gòu)造,可使用if else 進(jìn)行選擇,具體構(gòu)成如下:SelectCommand="if(@班級(jí)<>'全部')SELECT [姓名],[就業(yè)單位],[聯(lián)系電話],…… FROM [out] WHERE([班級(jí)] = @班級(jí))else SELECT [姓名],[就業(yè)單位],[聯(lián)系電話],…… FROM [out] WHERE(substring(畢業(yè)時(shí)間,1,4)= @畢業(yè)時(shí)間)AND([學(xué)院] = @學(xué)院)"。

      這種情形多數(shù)開(kāi)發(fā)人員一般采用存儲(chǔ)過(guò)程,并且表面上更簡(jiǎn)單,但本質(zhì)是相同的,不過(guò)表達(dá)有所不同,因此各有各的用途。

      4.構(gòu)造UPDATE語(yǔ)句

      不同情形更新的字段不同,照說(shuō)可以用存儲(chǔ)過(guò)程來(lái)完成,但一般情況下,UPDATE字段都好幾個(gè)字段,甚至幾十個(gè)字段,那么使用存儲(chǔ)過(guò)程幾乎不可能了,這時(shí)不得不用if else進(jìn)行構(gòu)造,這就是幾乎沒(méi)有UPDATE的存儲(chǔ)過(guò)程原因。如UpdateCommand="if(@就業(yè)去向='自由職業(yè)')UPDATE [out] SET ……,[自由工作所在地] = @自由工作所在地,[自由職業(yè)內(nèi)容] = @自由職業(yè)內(nèi)容,[自由職業(yè)本人聲明] = @自由職業(yè)本人聲明 WHERE [ID] = @ID else if(@就業(yè)去向='升學(xué)')UPDATE [out] SET ……,[升學(xué)名稱(chēng)] = @升學(xué)名稱(chēng) WHERE [ID] = @ID else if(@就業(yè)去向='參軍入伍')UPDATE [out] SET ……,[部隊(duì)名稱(chēng)] = @部隊(duì)名稱(chēng) WHERE [ID] = @ID"。

      嚴(yán)格地說(shuō),所有的存儲(chǔ)過(guò)程都可以用SQL語(yǔ)句完成,反過(guò)來(lái),所有的SQL語(yǔ)句也都可以用存儲(chǔ)過(guò)程(視圖)來(lái)表示,那么究竟什么時(shí)候用存儲(chǔ)過(guò)程?什么時(shí)候用SQL語(yǔ)句?一般來(lái)說(shuō),簡(jiǎn)單的查詢(xún)用SQL語(yǔ)句,復(fù)雜且參數(shù)少的查詢(xún)用存儲(chǔ)過(guò)程,參數(shù)多、較復(fù)雜的查詢(xún)只能由自定義SQL語(yǔ)句完成,或者說(shuō)越簡(jiǎn)單就用SQL語(yǔ)句,越復(fù)雜就用存儲(chǔ)過(guò)程,介于兩者之間就用自定義SQL語(yǔ)句,它們之間沒(méi)有絕對(duì)的界限。

      參考文獻(xiàn):

      [1]姚永一,SQL Server數(shù)據(jù)庫(kù)實(shí)用教程,北京:電子工業(yè)出版社,2010.

      [2]高云,SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)實(shí)用教程,北京:清華大學(xué)出版社,2011

      [3]何玉潔,數(shù)據(jù)庫(kù)原理與應(yīng)用(第二版),北京:機(jī)械工業(yè)出版社,2011

      [4]壯志劍,數(shù)據(jù)庫(kù)原理與SQL Server,北京:高等教育出版社,2008

      猜你喜歡
      探討應(yīng)用
      環(huán)境科學(xué)專(zhuān)業(yè)《環(huán)境生態(tài)學(xué)》課程教學(xué)改革探討
      互聯(lián)網(wǎng)+背景下企業(yè)會(huì)計(jì)核算制度探析
      新財(cái)務(wù)會(huì)計(jì)制度下醫(yī)院成本核算的探討與實(shí)踐分析
      芻議小學(xué)足球教學(xué)的訓(xùn)練教學(xué)方法
      體育旅游產(chǎn)業(yè)的特征及發(fā)展策略探討
      商(2016年27期)2016-10-17 07:16:17
      稅收籌劃的效應(yīng)問(wèn)題
      商(2016年27期)2016-10-17 06:19:58
      多媒體技術(shù)在小學(xué)語(yǔ)文教學(xué)中的應(yīng)用研究
      考試周刊(2016年76期)2016-10-09 08:45:44
      分析膜技術(shù)及其在電廠水處理中的應(yīng)用
      科技視界(2016年20期)2016-09-29 14:22:00
      GM(1,1)白化微分優(yōu)化方程預(yù)測(cè)模型建模過(guò)程應(yīng)用分析
      科技視界(2016年20期)2016-09-29 12:03:12
      煤礦井下坑道鉆機(jī)人機(jī)工程學(xué)應(yīng)用分析
      科技視界(2016年20期)2016-09-29 11:47:01
      阜康市| 巴彦县| 金堂县| 道真| 玉溪市| 昌黎县| 济南市| 城固县| 高青县| 来宾市| 抚松县| 易门县| 荣成市| 翁源县| 安国市| 白城市| 阿拉善盟| 高要市| 醴陵市| 绍兴县| 东阿县| 秦皇岛市| 安福县| 宣化县| 芜湖市| 特克斯县| 丰原市| 普兰店市| 宜州市| 大理市| 安丘市| 阿坝| 阳西县| 白城市| 界首市| 阳城县| 疏勒县| 高邮市| 玉门市| 苏尼特左旗| 临安市|