国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL觸發(fā)器技術(shù)在MAS平臺(tái)中的運(yùn)用

2013-04-29 05:30:31殷銘
關(guān)鍵詞:工號(hào)觸發(fā)器時(shí)效性

摘要:運(yùn)用SQL觸發(fā)器技術(shù),對(duì)華為MAS短信平臺(tái)進(jìn)行二次開發(fā),完成接受指令后實(shí)時(shí)查詢相關(guān)數(shù)據(jù)并返回到的短信。

關(guān)鍵詞:短信查詢 短信平臺(tái) SQL觸發(fā)器 EIE-2000

1 短信平臺(tái)系統(tǒng)結(jié)構(gòu)

學(xué)院通過移動(dòng)公司引進(jìn)華為infoX-EIE 2000信息機(jī)作為數(shù)字化校園網(wǎng)絡(luò)信息系統(tǒng)的補(bǔ)充。為教職工和學(xué)生提供了基于移動(dòng)終端(包括短信、彩信、WAP、手機(jī)客戶端等)的信息化應(yīng)用服務(wù)。為學(xué)校各類應(yīng)用與移動(dòng)終端業(yè)務(wù)的應(yīng)用結(jié)合提供了統(tǒng)一接入平臺(tái),實(shí)現(xiàn)SMS、USSD、MMS、WAP等方面的移動(dòng)數(shù)據(jù)應(yīng)用,支持SMPP、CMPP等多種開放協(xié)議。

infoX-EIE 2000是華為和中國(guó)移動(dòng)聯(lián)合開發(fā)的為集團(tuán)客戶提供的基于移動(dòng)終端的信息化應(yīng)用服務(wù)平臺(tái)。該設(shè)備采用的是制定版的Microsoft Windows XP 5.1,其軟件平臺(tái)為MAS2000(Mobile Agent Server),管理界面采用B/S結(jié)構(gòu),JSP開發(fā),數(shù)據(jù)庫(kù)為MS SQL2000。

但在長(zhǎng)期的運(yùn)用中仍然處于大量信息單向傳輸?shù)臓顟B(tài)。即運(yùn)用基于下行方向。對(duì)于上行方向存在處理數(shù)據(jù)信息處理不夠即時(shí),處理不夠方便的問題。

2 SQL觸發(fā)器介紹

SQL Server提供了兩種觸發(fā)器:INSTEAD OF和AFTER觸發(fā)器,他們的區(qū)別在于被激活的時(shí)機(jī)不同,AFTER觸發(fā)器又稱為后觸發(fā)器,該類觸發(fā)器是在引起觸發(fā)器執(zhí)行的修改語(yǔ)句成功完成之后執(zhí)行,如果修改語(yǔ)句因錯(cuò)誤(如違反約束或語(yǔ)法錯(cuò)誤)而失敗,觸發(fā)器將不會(huì)執(zhí)行。此類觸發(fā)器只能定義在表上,不能創(chuàng)建在視圖上。可以為每個(gè)觸發(fā)操作(INSERT、UPDATE或DELETE)創(chuàng)建多個(gè)AFTER觸發(fā)器。

SQL SERVER為每個(gè)觸發(fā)器都創(chuàng)建兩個(gè)特殊的臨時(shí)表:

deleted表和inserted表。這是兩個(gè)邏輯表,它們存放于內(nèi)存中,不存放在數(shù)據(jù)庫(kù)中,由系統(tǒng)來(lái)維護(hù),不允許用戶直接對(duì)這兩個(gè)表進(jìn)行修改。這兩個(gè)表的結(jié)構(gòu)總是與被觸發(fā)器作用的表的結(jié)構(gòu)相同。觸發(fā)器工作完成,與觸發(fā)器相關(guān)的這兩個(gè)表也被刪除。Deleted表用于存放在執(zhí)行DELETE或UPDATE語(yǔ)句時(shí)從被該觸發(fā)器作用的表中刪除的所有行,inserted表用于存放在執(zhí)行INSERT或UPDATE語(yǔ)句時(shí)要加到該觸發(fā)器作用的表中的任何新行。需要特別注意的是,當(dāng)用戶要執(zhí)行更新(UPDATE)操作時(shí),系統(tǒng)首先將要進(jìn)行修改的記錄復(fù)制到Deleted表格中,然后再將修改后的數(shù)據(jù)復(fù)制到Inserted表內(nèi),而不是直接對(duì)原有的數(shù)據(jù)進(jìn)行修改。一個(gè)UPDATE操作可以看作先執(zhí)行一個(gè)DELETE操作,再執(zhí)行一個(gè)INSERT操作,舊的行首先被移到Deleted表,然后新的行插入到激活觸發(fā)器的表和Inserted表中。

3 短信平臺(tái)相關(guān)數(shù)據(jù)庫(kù)

通過向移動(dòng)服務(wù)商咨詢和相關(guān)技術(shù)資料查詢,得知在做功能開發(fā)可以直接通過數(shù)據(jù)庫(kù)操作進(jìn)行短信的收發(fā)工作,其中主要涉及到兩張表:tbl_SMSendTask和tbl_SMReceived。對(duì)應(yīng)發(fā)送短信和接受短信。具體表結(jié)構(gòu)可以查看數(shù)據(jù)庫(kù)。

Tbl_SMSendTask表:這是短信發(fā)出任務(wù)表,添加到這個(gè)表里面的內(nèi)容,如果條件符合,或者說對(duì)應(yīng)的插入信息是真實(shí)的話,那么mas機(jī)就會(huì)立即發(fā)出該條信息,發(fā)出成功后這條記錄就會(huì)自動(dòng)刪除。如下SQL語(yǔ)句即可發(fā)送一條短消息。

insert into tbl_SMSendTask (CreatorID,ServiceID,OperationType,sm_Content,OrgAddr,DestAddr,

SendType,TaskStatus,F(xiàn)eeType,F(xiàn)eeCode,MsgID) values('0000','MJS3919901','WAS', '測(cè)試',' 1065735122550308','13606212***','4','0','01','0','0')

4 程序編寫

對(duì)于查詢和投票等時(shí)效性比較強(qiáng)的任務(wù),利用短信平臺(tái)自身數(shù)據(jù)庫(kù)的觸發(fā)器來(lái)處理,能替代很多程序中不能或很難完成的弱點(diǎn)。程序要做到很強(qiáng)的時(shí)效性需要將程序時(shí)刻運(yùn)行,時(shí)刻刷新進(jìn)行查詢回復(fù),反復(fù)訪問數(shù)據(jù)庫(kù),這樣實(shí)施比較困難,且會(huì)耗費(fèi)大量的系統(tǒng)資源,相關(guān)服務(wù)器負(fù)載也會(huì)很大。

而通過在相關(guān)數(shù)據(jù)表格上使用SQL語(yǔ)言,按照查詢程序流程,建立觸發(fā)器,可以部分的解決上述問題。

CREATE trigger send_ok on dbo.tbl_SMReceived

for insert

as

begin

declare @fashouji varchar(36),@shoushouji varchar(24),@xingming varchar(6),@gonghao varchar(6),@shouneirong varchar(150),@faneirong varchar(150),@zhiling varchar(20)

declare @sm_id int

declare @shifagongzi float

select @sm_id=SM_ID,@fashouji=OrgAddr,@shoushouji=DestAddr,@shouneirong=SM_Content from INSERTED

set @zhiling=substring(@shouneirong,1,4)

if @zhiling='gzcx'

begin

select @xingming=姓名,@gonghao=工號(hào) from dbo.gh where 手機(jī)=@fashouji

select @shifagongzi=實(shí)發(fā)工資 from dbo.o_gz where 工號(hào)=@gonghao

set @faneirong=@xingming+'_實(shí)發(fā)工資:'+cast(@shifagongzi as varchar)

INSERT into dbo.tbl_SMSendTask (CreatorID,SmSendedNum,OperationType,SuboperationType,SendType,OrgAddr,DestAddr,SM_Content,SendTime,NeedStateReport,ServiceID,F(xiàn)eeType,F(xiàn)eeCode,SMType,MessageID,DestAddrType,SubTime,TaskStatus,SendLevel,SendState,TryTimes,Count)values('0308',0,'WAS',66,1,1065735122550308,@fashouji,@faneirong,GetDate(),0,'MJS3919901',02,10,0,0,0,GetDate(),0,0,0,3,1)

end

end

測(cè)試結(jié)果

發(fā)送gzcx到1065XXX122550308后返回 張三_工資:834.28

5 總結(jié)

本文提供了一種解決了實(shí)時(shí)下行短信的思路。在開發(fā)移動(dòng)MAS服務(wù)時(shí),可以通過數(shù)據(jù)庫(kù)本身作很多處理,而不是相關(guān)程序。觸發(fā)器,作業(yè)等數(shù)據(jù)庫(kù)功能的使用,可以在程序處理之前對(duì)用戶短信指令和內(nèi)容進(jìn)行相關(guān)處理,分析,使系統(tǒng)具有更強(qiáng)的時(shí)效性,可用性。

參考文獻(xiàn):

[1]微軟公司.Microsoft SQL Server 2000標(biāo)準(zhǔn)教程[M].中國(guó)勞動(dòng)社會(huì)保障出版社,2003.3.

[2]黃維通.SQL Server 2000簡(jiǎn)明教程[M].清華大學(xué)出版社,2002.3.

[3]華為公司.infoX-企業(yè)信息機(jī)用戶手冊(cè).華為技術(shù)有限公司,2007.3.

[4]王鵬宇.SQLServer2000觸發(fā)器技術(shù)的應(yīng)用[M].內(nèi)江科技,2008,9:125.

[5]季磊等.針對(duì)預(yù)約掛號(hào)系統(tǒng)的短信平臺(tái)開發(fā)與應(yīng)用[J].醫(yī)療衛(wèi)生裝備,2009,12:49-50.

作者簡(jiǎn)介:殷銘(1979-),男,江蘇江陰人,教師,講師,研究方向:制造業(yè)信息化。

猜你喜歡
工號(hào)觸發(fā)器時(shí)效性
試析如何確保新聞采訪的真實(shí)性和時(shí)效性
新聞傳播(2018年14期)2018-11-13 01:12:52
主從JK觸發(fā)器邏輯功能分析
電子世界(2017年22期)2017-12-02 03:03:45
基于J2EE公司員工信息管理系統(tǒng)設(shè)計(jì)
使用觸發(fā)器,強(qiáng)化安全性
荷載預(yù)壓加固吹填土?xí)r效性研究
深部巷道錨網(wǎng)噴注協(xié)調(diào)支護(hù)時(shí)效性研究
當(dāng)下新聞編輯時(shí)效性分析
新聞傳播(2015年10期)2015-07-18 11:05:40
圖說
如何使用“按鍵精靈”完成批量操作
考試周刊(2012年10期)2012-04-29 00:14:38
對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
浏阳市| 乌兰察布市| 云南省| 金堂县| 鹤峰县| 萨嘎县| 井研县| 昆明市| 百色市| 沙河市| 长沙县| 丰县| 乡城县| 嵊州市| 财经| 胶州市| 锦屏县| 彰武县| 德州市| 灵台县| 富裕县| 苏尼特右旗| 闽清县| 武冈市| 夹江县| 灵山县| 西贡区| 措勤县| 华容县| 茌平县| 斗六市| 岳西县| 饶阳县| 冀州市| 桃江县| 逊克县| 三穗县| 岫岩| 买车| 新闻| 方山县|