Oracle存儲過程中使用游標來批量解析CLOB字段里面的xml字符串:

摘要:之前在項目中使用到了Oracle數據庫中通過觸發器去調用存儲過程執行數據解析并Update到對應的數據表中,但是,經過一段時間的測試使用發現,如果job那天停掉了,然后你再重新新建job的話,這時候可能會有很多遺留的數據沒有出來,因為之前是通過觸發器的方式,來一條數據,解析一條并Update到對應的數據表中,現在一下要執行很多數據,就會報錯內存溢出的錯誤,所以后來經過分析討論,把之前通過觸發器解析的方式改成了通過job來定時調用存儲過程解析,并且在存儲過程中增加了游標的使用,這樣就不會有丟失的數據,同時也能保證在那天job出問題了,再新建job后數據解析出現問題了,具體的SQL如下:


這里我把我用到的所有的存儲過程,函數,job的SQL都貼上來,方便大家參考:


一:函數:

CREATE OR REPLACE FUNCTION MIP.FormatDateValue (key VARCHAR2, value VARCHAR2)RETURN VARCHAR2
IS--定義幾個變量,出來解析過來的時間字符串--日月年時分(11OCT141024)Str      VARCHAR2(32);AA       VARCHAR2(32);DAY      VARCHAR2(32);MOUNTH   VARCHAR2(32);YEAR     VARCHAR2(32);HOUR     VARCHAR2(32);MINUTE   VARCHAR2(32);ValueReturn   VARCHAR2 (64);BEGINIF key != ' ' THENDAY := SUBSTR(key,0,2);MOUNTH := SUBSTR(key,3,3);IF INSTR (MOUNTH,'JAN') > 0 THENMOUNTH := 01;END IF;IF INSTR (MOUNTH,'FEB') > 0 THENMOUNTH := 02;END IF;IF INSTR (MOUNTH,'MAR') > 0 THENMOUNTH := 03;END IF;IF INSTR (MOUNTH,'APR') > 0 THENMOUNTH := 04;END IF;IF INSTR (MOUNTH,'MAY') > 0 THENMOUNTH := 05;END IF;IF INSTR (MOUNTH,'JUN') > 0 THENMOUNTH := 06;END IF;IF INSTR (MOUNTH,'JUL') > 0 THENMOUNTH := 07;END IF;IF INSTR (MOUNTH,'AUG') > 0 THENMOUNTH := 08;END IF;IF INSTR (MOUNTH,'SEP') > 0 THENMOUNTH := 09;END IF;IF INSTR (MOUNTH,'OCT') > 0 THENMOUNTH := 10;END IF;IF INSTR (MOUNTH,'NOV') > 0 THENMOUNTH := 11;END IF;IF INSTR (MOUNTH,'DEC') > 0 THENMOUNTH := 12;END IF;YEAR := SUBSTR(key,6,2);HOUR := SUBSTR(key,8,2);MINUTE := SUBSTR(key,-2);AA := 20;Str := 0;--日月年時分(11OCT141017)IF length(MOUNTH) < 2 THENMOUNTH := Str||MOUNTH;ValueReturn := AA || YEAR || '-' || MOUNTH || '-' || DAY || ' ' || HOUR || ':' || MINUTE;ELSEValueReturn := AA || YEAR || '-' || MOUNTH || '-' || DAY || ' ' || HOUR || ':' || MINUTE;END IF;--ValueReturn := HOUR || ':' || MINUTE;RETURN ValueReturn;ELSEValueReturn := ' ';RETURN ValueReturn;END IF;END FormatDateValue;
/CREATE OR REPLACE FUNCTION MIP.GetXmlNodeValue (xmlStr CLOB, nodeName VARCHAR2)RETURN VARCHAR2
IS--創建xml解析器實例xmlparser.ParserxmlPar        xmlparser.Parser := xmlparser.newParser;--定義DOM文檔xDoc          xmldom.DOMDocument;--定義item子節點數目變量lenItme       INTEGER;--定義節點列表,存放item節點們itemNodes     xmldom.DOMNodeList;--定義節點,存放單個item節點itemNode      xmldom.DOMNode;ValueReturn   VARCHAR2 (100);BEGIN--解析xmlStr中xml字符串,并存放到xmlPar中xmlparser.parseClob (xmlPar, xmlStr);--將xmlPar中的數據轉存到dom文檔中xDoc := xmlparser.getDocument (xmlPar);--釋放解析器實例xmlparser.freeParser (xmlPar);--獲取所有item節點itemNodes := xmldom.getElementsByTagName (xDoc, nodeName);--獲取item節點的個數lenItme := xmldom.getLength (itemNodes);--如果無該標簽,則返回EMPTYIF lenItme = 0 THENValueReturn := ' ';ELSE--獲取節點列表中的第1個item節點itemNode := xmldom.item (itemNodes, 0);--獲取所有子節點的值ValueReturn := xmldom.getNodeValue (xmldom.getFirstChild (itemNode));END IF;   --釋放domxmldom.freeDocument(xDoc);RETURN ValueReturn;END GetXmlNodeValue;
/


二:存儲過程:

CREATE OR REPLACE PROCEDURE MIP.JOB_PRO_TEMP
ASTEMP_ID   NUMBER;
BEGINSELECT   NVL (MAX (ID), 0) INTO TEMP_ID FROM MBINMSGS_TEMP;INSERT INTO MBINMSGS_TEMPSELECT   *FROM   MBINMSGSWHERE   MBINMSGS.ID > TEMP_ID;--WHERE MBINMSGS.mbinmsgs_date_processed > to_date('2015-1-12 12:21:23','yyyy-mm-dd hh24:mi:ss');COMMIT;
EXCEPTIONWHEN OTHERSTHENDBMS_OUTPUT.PUT_LINE ('Exception happened,data was rollback');ROLLBACK;
END;
/CREATE OR REPLACE PROCEDURE MIP.LOOP_COPY_PRO_TEMPAS BEGINDECLARE--定義游標CURSOR c_cursorIS--這里查詢指定時間內的數據,根據時間判斷一下id>那個編號開始SELECT ID,MBINMSGS_CLOB_MSG FROM MBINMSGS_TEMP WHERE MBINMSGS_DATE_PROCESSED IS NULL ORDER BY ID DESC;v_ID MBINMSGS_TEMP.ID%TYPE;v_MBINMSGS_CLOB_MSG MBINMSGS_TEMP.MBINMSGS_CLOB_MSG%TYPE;BEGIN--打開游標OPEN c_cursor;--提取游標數據FETCH c_cursor INTO   v_ID,v_MBINMSGS_CLOB_MSG;WHILE c_cursor%FOUNDLOOPDBMS_OUTPUT.put_line (v_ID ||':'||v_MBINMSGS_CLOB_MSG);MIP_PARSE(v_MBINMSGS_CLOB_MSG);UPDATE MBINMSGS_TEMP SET MBINMSGS_DATE_PROCESSED = SYSDATE WHERE ID=v_ID;FETCH c_cursor INTO   v_ID,v_MBINMSGS_CLOB_MSG;END LOOP;--關閉游標CLOSE c_cursor;COMMIT;EXCEPTIONWHEN OTHERSTHENDBMS_OUTPUT.PUT_LINE ('Exception happened,data was rollback');ROLLBACK;END;END;
/CREATE OR REPLACE PROCEDURE MIP.MIP_PARSE (xmlStr IN CLOB)
ISSTYP     VARCHAR2 (100);RENO     VARCHAR2 (100);AIRLINE  VARCHAR2 (100);FFID     VARCHAR2 (100);FFID_A   VARCHAR2 (100);FFID_D   VARCHAR2 (100);ABNS     VARCHAR2 (100);ACFT     VARCHAR2 (100);CHDT     VARCHAR2 (100);EIBT     VARCHAR2 (100);FATA     VARCHAR2 (100);FETA     VARCHAR2 (100);FSTA     VARCHAR2 (100);LMDT     VARCHAR2 (100);LMUR     VARCHAR2 (100);PSTM     VARCHAR2 (100);RWAY     VARCHAR2 (100);SPOT     VARCHAR2 (100);STND     VARCHAR2 (100);SDEC     VARCHAR2 (100);A_TOBT   VARCHAR2 (100);A_WEATHER     VARCHAR2 (100);ASAT     VARCHAR2 (100);BCTM     VARCHAR2 (100);BOTM     VARCHAR2 (100);BETM     VARCHAR2 (100);BSTM     VARCHAR2 (100);C_TOBT   VARCHAR2 (100);COBT     VARCHAR2 (100);CTOT     VARCHAR2 (100);DINT     VARCHAR2 (100);DLAB     VARCHAR2 (100);DNAP     VARCHAR2 (100);DOUT     VARCHAR2 (100);EDDI     VARCHAR2 (100);EOBT     VARCHAR2 (100);EPGT     VARCHAR2 (100);EPOT     VARCHAR2 (100);FATD     VARCHAR2 (100);FSTD     VARCHAR2 (100);OFTM     VARCHAR2 (100);STDI     VARCHAR2 (100);TSAT     VARCHAR2 (100);FLIGHTNUMBER VARCHAR2 (100);FLIGHTMARK   VARCHAR2 (100);ALAP     VARCHAR2 (100);APRT     VARCHAR2 (100);DPRT     VARCHAR2 (100);PARK     VARCHAR2 (100);INTERNALORINTERNATIONAL  VARCHAR2 (100);TERMINAL VARCHAR2 (100);GROUNDDISTRIBUTION VARCHAR2 (100);--定義出港信息表要格式的時間字段A_TOBT_D VARCHAR2 (100);ASAT_D   VARCHAR2 (100);BCTM_D   VARCHAR2 (100);BOTM_D   VARCHAR2 (100);BETM_D   VARCHAR2 (100);C_TOBT_D VARCHAR2 (100);COBT_D   VARCHAR2 (100);CTOT_D   VARCHAR2 (100);DINT_D   VARCHAR2 (100);DOUT_D   VARCHAR2 (100);EDDI_D   VARCHAR2 (100);EOBT_D   VARCHAR2 (100);EPGT_D   VARCHAR2 (100);EPOT_D   VARCHAR2 (100);FATD_D   VARCHAR2 (100);FSTD_D   VARCHAR2 (100);LMDT_D   VARCHAR2 (100);OFTM_D   VARCHAR2 (100);STDI_D   VARCHAR2 (100);TSAT_D   VARCHAR2 (100);--定義進港信息表要格式化的時間字段BSTM_A     VARCHAR2 (100);EIBT_A   VARCHAR2 (100);FATA_A   VARCHAR2 (100);FETA_A   VARCHAR2 (100);FSTA_A   VARCHAR2 (100);LMDT_A   VARCHAR2 (100);PSTM_A   VARCHAR2 (100);SPOT_A   VARCHAR2 (100);COUNTS   NUMBER(36);--定義出港信息要修改的除時間外的字段STND_D   VARCHAR2 (100);A_WEATHER_D VARCHAR2 (100);ABNS_D   VARCHAR2 (100);ACFT_D   VARCHAR2 (100);AIRLINE_D VARCHAR2 (100);DLAB_D   VARCHAR2 (100);DNAP_D   VARCHAR2 (100);LMUR_D   VARCHAR2 (100);RENO_D   VARCHAR2 (100);RWAY_D   VARCHAR2 (100);DPRT_D   VARCHAR2 (100);PARK_D   VARCHAR2 (100);INTERNALORINTERNATIONAL_D  VARCHAR2 (100);TERMINAL_D VARCHAR2 (100);GROUNDDISTRIBUTION_D VARCHAR2 (100);--定義進港信息要修改的除時間外的字段ABNS_A   VARCHAR2 (100);ACFT_A   VARCHAR2 (100);AIRLINE_A VARCHAR2 (100);ALAP_A   VARCHAR2 (100);APRT_A   VARCHAR2 (100);CHDT_A   VARCHAR2 (100);RENO_A   VARCHAR2 (100);LMUR_A   VARCHAR2 (100);RWAY_A   VARCHAR2 (100);STND_A   VARCHAR2 (100);PARK_A     VARCHAR2 (100);INTERNALORINTERNATIONAL_A  VARCHAR2 (100);TERMINAL_A VARCHAR2 (100);GROUNDDISTRIBUTION_A VARCHAR2 (100);BEGINSTYP := GetXmlNodeValue (xmlStr, 'STYP');RENO := GetXmlNodeValue (xmlStr, 'RENO');FFID := GetXmlNodeValue (xmlStr, 'FFID');ABNS := GetXmlNodeValue (xmlStr, 'ABNS');ACFT := GetXmlNodeValue (xmlStr, 'ACFT');CHDT := GetXmlNodeValue (xmlStr, 'CHDT');EIBT := GetXmlNodeValue (xmlStr, 'EIBT');FATA := GetXmlNodeValue (xmlStr, 'FATA');FETA := GetXmlNodeValue (xmlStr, 'FETA');FSTA := GetXmlNodeValue (xmlStr, 'FSTA');LMDT := GetXmlNodeValue (xmlStr, 'LMDT');LMUR := GetXmlNodeValue (xmlStr, 'LMUR');PSTM := GetXmlNodeValue (xmlStr, 'PSTM');RWAY := GetXmlNodeValue (xmlStr, 'RWAY');SPOT := GetXmlNodeValue (xmlStr, 'SPOT');STND := GetXmlNodeValue (xmlStr, 'STND');SDEC := GetXmlNodeValue (xmlStr, 'STND');A_TOBT := GetXmlNodeValue (xmlStr, 'A_TOBT');A_WEATHER := GetXmlNodeValue (xmlStr, 'A_WEATHER');ALAP := GetXmlNodeValue (xmlStr, 'ALAP');APRT := GetXmlNodeValue (xmlStr, 'APRT');ASAT := GetXmlNodeValue (xmlStr, 'ASAT');BCTM := GetXmlNodeValue (xmlStr, 'BCTM');BOTM := GetXmlNodeValue (xmlStr, 'BOTM');BETM := GetXmlNodeValue (xmlStr, 'BETM');BSTM := GetXmlNodeValue (xmlStr, 'BSTM');C_TOBT := GetXmlNodeValue (xmlStr, 'C_TOBT');COBT := GetXmlNodeValue (xmlStr, 'COBT');CTOT := GetXmlNodeValue (xmlStr, 'CTOT');DINT := GetXmlNodeValue (xmlStr, 'DINT');DLAB := GetXmlNodeValue (xmlStr, 'DLAB');DNAP := GetXmlNodeValue (xmlStr, 'DNAP');DOUT := GetXmlNodeValue (xmlStr, 'DOUT');EDDI := GetXmlNodeValue (xmlStr, 'EDDI');EOBT := GetXmlNodeValue (xmlStr, 'EOBT');EPGT := GetXmlNodeValue (xmlStr, 'EPGT');EPOT := GetXmlNodeValue (xmlStr, 'EPOT');FATD := GetXmlNodeValue (xmlStr, 'FATD');FSTD := GetXmlNodeValue (xmlStr, 'FSTD');OFTM := GetXmlNodeValue (xmlStr, 'OFTM');STDI := GetXmlNodeValue (xmlStr, 'STDI');TSAT := GetXmlNodeValue (xmlStr, 'TSAT');DPRT := GetXmlNodeValue (xmlStr, 'DPRT');PARK := GetXmlNodeValue (xmlStr, 'PARK');INTERNALORINTERNATIONAL := GetXmlNodeValue (xmlStr, 'INTERNALORINTERNATIONAL');TERMINAL := GetXmlNodeValue (xmlStr, 'TERMINAL');GROUNDDISTRIBUTION := GetXmlNodeValue (xmlStr, 'GROUNDDISTRIBUTION');--出港信息表中時間字段的時間格式函數的用法A_TOBT_D := FORMATDATEVALUE (A_TOBT, 'A_TOBT_D');ASAT_D := FORMATDATEVALUE (ASAT, 'ASAT_D');BCTM_D := FORMATDATEVALUE (BCTM, 'BCTM_D');BOTM_D := FORMATDATEVALUE (BOTM, 'BOTM_D');BETM_D := FORMATDATEVALUE (BETM, 'BETM_D');C_TOBT_D := FORMATDATEVALUE (C_TOBT, 'C_TOBT_D');COBT_D := FORMATDATEVALUE (COBT, 'COBT_D');CTOT_D := FORMATDATEVALUE (CTOT, 'CTOT_D');DINT_D := FORMATDATEVALUE (DINT, 'DINT_D');DOUT_D := FORMATDATEVALUE (DOUT, 'DOUT_D');EDDI_D := FORMATDATEVALUE (EDDI, 'EDDI_D');EOBT_D := FORMATDATEVALUE (EOBT, 'EOBT_D');EPGT_D := FORMATDATEVALUE (EPGT, 'EPGT_D');EPOT_D := FORMATDATEVALUE (EPOT, 'EPOT_D');FATD_D := FORMATDATEVALUE (FATD, 'FATD_D');FSTD_D := FORMATDATEVALUE (FSTD, 'FSTD_D');LMDT_D := FORMATDATEVALUE (LMDT, 'LMDT_D');OFTM_D := FORMATDATEVALUE (OFTM, 'OFTM_D');STDI_D := FORMATDATEVALUE (STDI, 'STDI_D');TSAT_D := FORMATDATEVALUE (TSAT, 'TSAT_D');--進港信息表中時間字段的時間格式函數的用法EIBT_A := FORMATDATEVALUE (EIBT, 'EIBT_A');FATA_A := FORMATDATEVALUE (FATA, 'FATA_A');FETA_A := FORMATDATEVALUE (FETA, 'FETA_A');FSTA_A := FORMATDATEVALUE (FSTA, 'FSTA_A');LMDT_A := FORMATDATEVALUE (LMDT, 'LMDT_A');PSTM_A := FORMATDATEVALUE (PSTM, 'PSTM_A');SPOT_A := FORMATDATEVALUE (SPOT, 'SPOT_A');BSTM_A := FORMATDATEVALUE (BSTM, 'BSTM_A');--出港信息要修改的除時間外的字段STND_D := GetXmlNodeValue (xmlStr, 'STND');A_WEATHER_D := GetXmlNodeValue (xmlStr, 'A_WEATHER');ABNS_D := GetXmlNodeValue (xmlStr, 'ABNS');ACFT_D := GetXmlNodeValue (xmlStr, 'ACFT');AIRLINE_D := GetXmlNodeValue (xmlStr, 'AIRLINE');DLAB_D := GetXmlNodeValue (xmlStr, 'DLAB');DNAP_D := GetXmlNodeValue (xmlStr, 'DNAP');LMUR_D := GetXmlNodeValue (xmlStr, 'LMUR');RENO_D := GetXmlNodeValue (xmlStr, 'RENO');RWAY_D := GetXmlNodeValue (xmlStr, 'RWAY');DPRT_D := GetXmlNodeValue (xmlStr, 'DPRT');PARK_D := GetXmlNodeValue (xmlStr, 'PARK');TERMINAL_D := GetXmlNodeValue (xmlStr, 'TERMINAL');GROUNDDISTRIBUTION_D := GetXmlNodeValue (xmlStr, 'GROUNDDISTRIBUTION');--進港信息要修改的除時間外的字段ABNS_A := GetXmlNodeValue (xmlStr, 'ABNS');ACFT_A := GetXmlNodeValue (xmlStr, 'ACFT');AIRLINE_A := GetXmlNodeValue (xmlStr, 'AIRLINE');ALAP_A := GetXmlNodeValue (xmlStr, 'ALAP');APRT_A := GetXmlNodeValue (xmlStr, 'APRT');CHDT_A := GetXmlNodeValue (xmlStr, 'CHDT');RENO_A := GetXmlNodeValue (xmlStr, 'RENO');LMUR_A := GetXmlNodeValue (xmlStr, 'LMUR');RWAY_A := GetXmlNodeValue (xmlStr, 'RWAY');STND_A := GetXmlNodeValue (xmlStr, 'STND');PARK_A := GetXmlNodeValue (xmlStr, 'PARK');TERMINAL_A := GetXmlNodeValue (xmlStr, 'TERMINAL');GROUNDDISTRIBUTION_A := GetXmlNodeValue (xmlStr, 'GROUNDDISTRIBUTION');IF STYP = 'FGIS' THEN IF INSTR(FFID,'-D-') > 0 THENFFID_D := FFID;--截取航空公司代碼AIRLINE := SUBSTR(FFID_D,0,2);--截取航班號FLIGHTNUMBER := SUBSTR(FFID_D,INSTR(FFID_D,'-',1)+1,INSTR(FFID_D,'-',INSTR(FFID_D,'-',1)+1)-INSTR(FFID_D,'-',1)-1);--截取出港標志FLIGHTMARK := SUBSTR(FFID_D,INSTR(FFID_D,'-',2,2)+1,INSTR(FFID_D,'-',2,3)-1-INSTR(FFID_D,'-',2,2));--截取進離港標志INTERNALORINTERNATIONAL := SUBSTR(FFID_D,-1);--UPDATE之前要先根據FFID查詢一下看看數據表中是否已經存在該條數據,如果存在就UPDATE,如果不存在就SAVESELECT COUNT(1) INTO COUNTS FROM TB_CMS_FLGTINFO_D where FFID = FFID_D;IF COUNTS > 0 THENIF A_TOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET A_TOBT = A_TOBT_D WHERE FFID = FFID_D;END IF;IF A_WEATHER_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET A_WEATHER = A_WEATHER_D WHERE FFID = FFID_D;END IF;IF ABNS_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ABNS = ABNS_D WHERE FFID = FFID_D;END IF;IF ACFT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ACFT = ACFT_D WHERE FFID = FFID_D;END IF;IF ASAT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ASAT = ASAT_D WHERE FFID = FFID_D;END IF;IF BCTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BCTM = BCTM_D WHERE FFID = FFID_D;END IF;IF BOTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BOTM = BOTM_D WHERE FFID = FFID_D;END IF;IF BETM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BETM = BETM_D WHERE FFID = FFID_D;END IF;IF C_TOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET C_TOBT = C_TOBT_D WHERE FFID = FFID_D;END IF;IF COBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET COBT = COBT_D WHERE FFID = FFID_D;END IF;IF CTOT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET CTOT = CTOT_D WHERE FFID = FFID_D;END IF;IF DINT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DINT = DINT_D WHERE FFID = FFID_D;END IF;IF DLAB_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DLAB = DLAB_D WHERE FFID = FFID_D;END IF;IF DNAP_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DNAP = DNAP_D WHERE FFID = FFID_D;END IF;IF DOUT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DOUT = DOUT_D WHERE FFID = FFID_D;END IF;IF EDDI_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EDDI = EDDI_D WHERE FFID = FFID_D;END IF;IF EOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EOBT = EOBT_D WHERE FFID = FFID_D;END IF;IF EPGT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EPGT = EPGT_D WHERE FFID = FFID_D;END IF;IF EPOT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EPOT = EPOT_D WHERE FFID = FFID_D;END IF;IF FATD_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET FATD = FATD_D WHERE FFID = FFID_D;END IF;IF FSTD_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET FSTD = FSTD_D WHERE FFID = FFID_D;END IF;IF LMDT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET LMDT = LMDT_D WHERE FFID = FFID_D;END IF;IF LMUR_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET LMUR = LMUR_D WHERE FFID = FFID_D;END IF;IF OFTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET OFTM = OFTM_D WHERE FFID = FFID_D;END IF;IF RENO_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET RENO = RENO_D WHERE FFID = FFID_D;END IF;IF RWAY_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET RWAY = RWAY_D WHERE FFID = FFID_D;END IF;IF STDI_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET STDI = STDI_D WHERE FFID = FFID_D;END IF;IF STND_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET STND = STND_D WHERE FFID = FFID_D;END IF;IF TSAT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET TSAT = TSAT_D WHERE FFID = FFID_D;END IF; IF DPRT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DPRT = DPRT_D WHERE FFID = FFID_D;END IF; IF PARK_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET PARK = PARK_D WHERE FFID = FFID_D;END IF; IF TERMINAL_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET TERMINAL = TERMINAL_D WHERE FFID = FFID_D;END IF; IF GROUNDDISTRIBUTION_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET GROUNDDISTRIBUTION = GROUNDDISTRIBUTION_D WHERE FFID = FFID_D;END IF; ELSEINSERT INTO TB_CMS_FLGTINFO_D (ID,A_TOBT,A_WEATHER,ABNS,ACFT,AIRLINE,ASAT,BCTM,BOTM,BETM,C_TOBT,COBT,CTOT,DINT,DLAB,DNAP,DOUT,DPRT,EDDI,EOBT,EPGT,EPOT,FATD,FFID,FLIGHTNUMBER,FLIGHTMARK,FSTD,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,LMDT,LMUR,OFTM,PARK,RENO,RWAY,STDI,STND,TERMINAL,TSAT)VALUES   (FLGTINFO_D_SEQ.NEXTVAL,A_TOBT_D,A_WEATHER,ABNS,ACFT,AIRLINE,ASAT_D,BCTM_D,BOTM_D,BETM_D,C_TOBT_D,COBT_D,CTOT_D,DINT_D,DLAB,DNAP,DOUT_D,DPRT,EDDI_D,EOBT_D,EPGT_D,EPOT_D,FATD_D,FFID_D,FLIGHTNUMBER,FLIGHTMARK,FSTD_D,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,LMDT_D,LMUR,OFTM_D,PARK,RENO,RWAY,STDI_D,STND,TERMINAL,TSAT_D);END IF;ELSEFFID_A := FFID;--截取航空公司代碼AIRLINE := SUBSTR(FFID_A,0,2);--截取航班號FLIGHTNUMBER := SUBSTR(FFID_A,INSTR(FFID_A,'-',1)+1,INSTR(FFID_A,'-',INSTR(FFID_A,'-',1)+1)-INSTR(FFID_A,'-',1)-1);--截取出港標志FLIGHTMARK := SUBSTR(FFID_A,INSTR(FFID_A,'-',2,2)+1,INSTR(FFID_A,'-',2,3)-1-INSTR(FFID_A,'-',2,2));--截取進離港標志INTERNALORINTERNATIONAL := SUBSTR(FFID_A,-1);--UPDATE之前要先根據FFID查詢一下看看數據表中是否已經存在該條數據,如果存在就UPDATE,如果不存在就SAVESELECT COUNT(1) INTO COUNTS FROM TB_CMS_FLGTINFO_A where FFID = FFID_A;IF COUNTS > 0 THENIF ABNS_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ABNS = ABNS_A WHERE FFID = FFID_A;END IF;IF ACFT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ACFT = ACFT_A WHERE FFID = FFID_A;END IF;IF ALAP_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ALAP = ALAP_A WHERE FFID = FFID_A;END IF;IF BSTM_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET BSTM = BSTM_A WHERE FFID = FFID_A;END IF;IF CHDT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET CHDT = CHDT_A WHERE FFID = FFID_A;END IF;IF RENO_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET RENO = RENO_A WHERE FFID = FFID_A;END IF;IF EIBT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET EIBT = EIBT_A WHERE FFID = FFID_A;END IF;IF FATA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FATA = FATA_A WHERE FFID = FFID_A;END IF;IF FETA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FETA = FETA_A WHERE FFID = FFID_A;END IF;IF FSTA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FSTA = FSTA_A WHERE FFID = FFID_A;END IF;IF LMDT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET LMDT = LMDT_A WHERE FFID = FFID_A;END IF;IF LMUR_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET LMUR = LMUR_A WHERE FFID = FFID_A;END IF;IF PSTM_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET PSTM = PSTM_A WHERE FFID = FFID_A;END IF;IF RWAY_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET RWAY = RWAY_A WHERE FFID = FFID_A;END IF;IF SPOT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET SPOT = SPOT_A WHERE FFID = FFID_A;END IF;IF STND_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET STND = STND_A WHERE FFID = FFID_A;END IF;IF APRT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET APRT = APRT_A WHERE FFID = FFID_A;END IF; IF PARK_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET PARK = PARK_A WHERE FFID = FFID_A;END IF; IF TERMINAL_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET TERMINAL = TERMINAL_A WHERE FFID = FFID_A;END IF; IF GROUNDDISTRIBUTION_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET GROUNDDISTRIBUTION = GROUNDDISTRIBUTION_A WHERE FFID = FFID_A;END IF; ELSEINSERT INTO TB_CMS_FLGTINFO_A (ID,ABNS,ACFT,AIRLINE,ALAP,BSTM,CHDT,APRT,FFID,FLIGHTNUMBER,FLIGHTMARK,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,RENO,EIBT,FATA,FETA,FSTA,LMDT,LMUR,PARK,PSTM,RWAY,SPOT,STND,TERMINAL)VALUES   (FLGTINFO_A_SEQ.NEXTVAL,ABNS,ACFT,AIRLINE,ALAP,BSTM_A,CHDT,APRT,FFID_A,FLIGHTNUMBER,FLIGHTMARK,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,RENO,EIBT_A,FATA_A,FETA_A,FSTA_A,LMDT_A,LMUR,PARK,PSTM_A,RWAY,SPOT_A,STND,TERMINAL);END IF;END IF;ELSEIF INSTR(FFID,'-D-') > 0 THENFFID_D := FFID;--截取航空公司代碼AIRLINE := SUBSTR(FFID_D,0,2);--截取航班號FLIGHTNUMBER := SUBSTR(FFID_D,INSTR(FFID_D,'-',1)+1,INSTR(FFID_D,'-',INSTR(FFID_D,'-',1)+1)-INSTR(FFID_D,'-',1)-1);--截取出港標志FLIGHTMARK := SUBSTR(FFID_D,INSTR(FFID_D,'-',2,2)+1,INSTR(FFID_D,'-',2,3)-1-INSTR(FFID_D,'-',2,2));--截取進離港標志INTERNALORINTERNATIONAL := SUBSTR(FFID_D,-1);--UPDATE之前要先根據FFID查詢一下看看數據表中是否已經存在該條數據,如果存在就UPDATE,如果不存在就SAVESELECT COUNT(1) INTO COUNTS FROM TB_CMS_FLGTINFO_D where FFID = FFID_D;IF COUNTS > 0 THENIF A_TOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET A_TOBT = A_TOBT_D WHERE FFID = FFID_D;END IF;IF A_WEATHER_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET A_WEATHER = A_WEATHER_D WHERE FFID = FFID_D;END IF;IF ABNS_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ABNS = ABNS_D WHERE FFID = FFID_D;END IF;IF ACFT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ACFT = ACFT_D WHERE FFID = FFID_D;END IF;IF ASAT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET ASAT = ASAT_D WHERE FFID = FFID_D;END IF;IF BCTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BCTM = BCTM_D WHERE FFID = FFID_D;END IF;IF BOTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BOTM = BOTM_D WHERE FFID = FFID_D;END IF;IF BETM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET BETM = BETM_D WHERE FFID = FFID_D;END IF;IF C_TOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET C_TOBT = C_TOBT_D WHERE FFID = FFID_D;END IF;IF COBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET COBT = COBT_D WHERE FFID = FFID_D;END IF;IF CTOT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET CTOT = CTOT_D WHERE FFID = FFID_D;END IF;IF DINT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DINT = DINT_D WHERE FFID = FFID_D;END IF;IF DLAB_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DLAB = DLAB_D WHERE FFID = FFID_D;END IF;IF DNAP_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DNAP = DNAP_D WHERE FFID = FFID_D;END IF;IF DOUT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DOUT = DOUT_D WHERE FFID = FFID_D;END IF;IF EDDI_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EDDI = EDDI_D WHERE FFID = FFID_D;END IF;IF EOBT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EOBT = EOBT_D WHERE FFID = FFID_D;END IF;IF EPGT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EPGT = EPGT_D WHERE FFID = FFID_D;END IF;IF EPOT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET EPOT = EPOT_D WHERE FFID = FFID_D;END IF;IF FATD_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET FATD = FATD_D WHERE FFID = FFID_D;END IF;IF FSTD_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET FSTD = FSTD_D WHERE FFID = FFID_D;END IF;IF LMDT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET LMDT = LMDT_D WHERE FFID = FFID_D;END IF;IF LMUR_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET LMUR = LMUR_D WHERE FFID = FFID_D;END IF;IF OFTM_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET OFTM = OFTM_D WHERE FFID = FFID_D;END IF;IF RENO_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET RENO = RENO_D WHERE FFID = FFID_D;END IF;IF RWAY_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET RWAY = RWAY_D WHERE FFID = FFID_D;END IF;IF STDI_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET STDI = STDI_D WHERE FFID = FFID_D;END IF;IF SDEC != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET SDEC = SDEC WHERE FFID = FFID_D;END IF;IF TSAT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET TSAT = TSAT_D WHERE FFID = FFID_D;END IF; IF DPRT_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET DPRT = DPRT_D WHERE FFID = FFID_D;END IF; IF PARK_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET PARK = PARK_D WHERE FFID = FFID_D;END IF; IF TERMINAL_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET TERMINAL = TERMINAL_D WHERE FFID = FFID_D;END IF; IF GROUNDDISTRIBUTION_D != ' ' THENUPDATE TB_CMS_FLGTINFO_D SET GROUNDDISTRIBUTION = GROUNDDISTRIBUTION_D WHERE FFID = FFID_D;END IF; ELSEINSERT INTO TB_CMS_FLGTINFO_D (ID,A_TOBT,A_WEATHER,ABNS,ACFT,AIRLINE,ASAT,BCTM,BOTM,BETM,C_TOBT,COBT,CTOT,DINT,DLAB,DNAP,DOUT,DPRT,EDDI,EOBT,EPGT,EPOT,FATD,FFID,FLIGHTNUMBER,FLIGHTMARK,FSTD,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,LMDT,LMUR,OFTM,PARK,RENO,RWAY,STDI,SDEC,TERMINAL,TSAT)VALUES   (FLGTINFO_D_SEQ.NEXTVAL,A_TOBT_D,A_WEATHER,ABNS,ACFT,AIRLINE,ASAT_D,BCTM_D,BOTM_D,BETM_D,C_TOBT_D,COBT_D,CTOT_D,DINT_D,DLAB,DNAP,DOUT_D,DPRT,EDDI_D,EOBT_D,EPGT_D,EPOT_D,FATD_D,FFID_D,FLIGHTNUMBER,FLIGHTMARK,FSTD_D,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,LMDT_D,LMUR,OFTM_D,PARK,RENO,RWAY,STDI_D,SDEC,TERMINAL,TSAT_D);END IF;ELSEFFID_A := FFID;--截取航空公司代碼AIRLINE := SUBSTR(FFID_A,0,2);--截取航班號FLIGHTNUMBER := SUBSTR(FFID_A,INSTR(FFID_A,'-',1)+1,INSTR(FFID_A,'-',INSTR(FFID_A,'-',1)+1)-INSTR(FFID_A,'-',1)-1);--截取出港標志FLIGHTMARK := SUBSTR(FFID_A,INSTR(FFID_A,'-',2,2)+1,INSTR(FFID_A,'-',2,3)-1-INSTR(FFID_A,'-',2,2));--截取進離港標志INTERNALORINTERNATIONAL := SUBSTR(FFID_A,-1);--UPDATE之前要先根據FFID查詢一下看看數據表中是否已經存在該條數據,如果存在就UPDATE,如果不存在就SAVESELECT COUNT(1) INTO COUNTS FROM TB_CMS_FLGTINFO_A where FFID = FFID_A;IF COUNTS > 0 THENIF ABNS_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ABNS = ABNS_A WHERE FFID = FFID_A;END IF;IF ACFT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ACFT = ACFT_A WHERE FFID = FFID_A;END IF;IF ALAP_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET ALAP = ALAP_A WHERE FFID = FFID_A;END IF;IF BSTM_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET BSTM = BSTM_A WHERE FFID = FFID_A;END IF;IF CHDT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET CHDT = CHDT_A WHERE FFID = FFID_A;END IF;IF RENO_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET RENO = RENO_A WHERE FFID = FFID_A;END IF;IF EIBT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET EIBT = EIBT_A WHERE FFID = FFID_A;END IF;IF FATA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FATA = FATA_A WHERE FFID = FFID_A;END IF;IF FETA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FETA = FETA_A WHERE FFID = FFID_A;END IF;IF FSTA_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET FSTA = FSTA_A WHERE FFID = FFID_A;END IF;IF LMDT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET LMDT = LMDT_A WHERE FFID = FFID_A;END IF;IF LMUR_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET LMUR = LMUR_A WHERE FFID = FFID_A;END IF;IF PSTM_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET PSTM = PSTM_A WHERE FFID = FFID_A;END IF;IF RWAY_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET RWAY = RWAY_A WHERE FFID = FFID_A;END IF;IF SPOT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET SPOT = SPOT_A WHERE FFID = FFID_A;END IF;IF STND_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET STND = STND_A WHERE FFID = FFID_A;END IF;IF APRT_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET APRT = APRT_A WHERE FFID = FFID_A;END IF; IF PARK_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET PARK = PARK_A WHERE FFID = FFID_A;END IF; IF TERMINAL_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET TERMINAL = TERMINAL_A WHERE FFID = FFID_A;END IF; IF GROUNDDISTRIBUTION_A != ' ' THENUPDATE TB_CMS_FLGTINFO_A SET GROUNDDISTRIBUTION = GROUNDDISTRIBUTION_A WHERE FFID = FFID_A;END IF; ELSEINSERT INTO TB_CMS_FLGTINFO_A (ID,ABNS,ACFT,AIRLINE,ALAP,BSTM,CHDT,APRT,FFID,FLIGHTNUMBER,FLIGHTMARK,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,RENO,EIBT,FATA,FETA,FSTA,LMDT,LMUR,PARK,PSTM,RWAY,SPOT,STND,TERMINAL)VALUES   (FLGTINFO_A_SEQ.NEXTVAL,ABNS,ACFT,AIRLINE,ALAP,BSTM_A,CHDT,APRT,FFID_A,FLIGHTNUMBER,FLIGHTMARK,GROUNDDISTRIBUTION,INTERNALORINTERNATIONAL,RENO,EIBT_A,FATA_A,FETA_A,FSTA_A,LMDT_A,LMUR,PARK,PSTM_A,RWAY,SPOT_A,STND,TERMINAL);END IF;END IF;END IF;COMMIT;EXCEPTIONWHEN OTHERS THENDBMS_OUTPUT.PUT_LINE (SQLERRM);END MIP_PARSE;
/


三:job:

var job_num number;
begindbms_job.submit(:job_num,'JOB_PRO_TEMP;',sysdate,'sysdate+1/24/60');
end;
commit;var job_num number;
begindbms_job.submit(:job_num,'LOOP_COPY_PRO_TEMP;',sysdate,'sysdate+1/24/60');
end;
commit;


以上就是所有在Oracle中用到的相關的PL-SQL的語句!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443437.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443437.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443437.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Maven配置nexus

摘要&#xff1a;近來一直在搭建maven結構的開發框架&#xff0c;其中這個過程中用到了nexus私服&#xff0c;這里我把我經過查詢總結的最終的方式記錄一下&#xff0c;以便后面忘記了&#xff1a; 一&#xff1a;nexus私服的安裝(略) 二&#xff1a;倉庫的講解如下圖: 1、ho…

Maven項目發布的配置

摘要&#xff1a;要想發布maven結構的項目到nexus私服上&#xff0c;可以通過兩種方式來&#xff0c;一種是在項目的pom.xml文件里面配置&#xff0c;另一種是通過命令的方式發布到nexus私服上&#xff0c;但是這種方式的前提也得在settings.xml文件配置用戶: 一&#xff1a;M…

MariaDB通過命令行的方式導出指定數據庫和還原指定數據庫

摘要&#xff1a;今天由于需要需要從本地導出一份VP系統的數據庫腳本&#xff0c;以前我都是通過工具直接導出&#xff0c;現在有同事說可以通過mysql的命令方式導出&#xff0c;我試了一下&#xff0c;可以&#xff0c;現在記錄一下&#xff01; 一&#xff1a;在MariaDB的安裝…

java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener

一&#xff1a;如果出現下面的錯誤信息&#xff0c;如果你的項目是Maven結構的&#xff0c;那么一般都是你的項目的Maven Dependencies沒有添加到項目的編譯路徑下&#xff1a; 五月 10, 2015 6:23:18 下午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR …

Maven 打成 Webjar的方法

摘要&#xff1a;今天領導說要把自己定義的樣式文件和js文件打成一個自定義的webjar&#xff0c;所以就寫了一下&#xff0c;現在記錄一下&#xff1a; 1. 先把要打包成webjar的文件放到你新建的maven結構的項目的/src/main/resources目錄下 2.編寫該項目的pom.xml文件&#…

Maven中maven-source-plugin,maven-javadoc-plugin插件的使用:

摘要&#xff1a;今天領導說要把項目通過maven生產源碼包和文檔包并發布到自己的私服上&#xff0c;經過查看mavne官網發現有兩個maven插件可以做到這些工作&#xff0c;一個是maven-source-plugin&#xff0c;另一個是maven-javadoc-plugin&#xff0c;現在記錄一下&#xff0…

Maven之生成測試覆蓋度的插件cobertura-maven-plugin的使用

摘要&#xff1a;Maven中可以通過使用插件檢查一個項目的測試代碼的覆蓋度&#xff0c;這個插件就是cobertura-maven-plugin&#xff0c;這個插件如何使用我做了測試&#xff0c;現在記錄一下&#xff01; 一&#xff1a;首先在你的項目的pom.xml文件中增加該插件的配置&#x…

Linux下開啟mysql數據庫的遠程訪問權限

摘要&#xff1a;今天在Linux服務器上安裝了msyql數據庫&#xff0c;在本地訪問的時候可以訪問&#xff0c;但是我想通過遠程的方式訪問的時候就不能訪問了&#xff0c;查詢資料后發現&#xff0c;Linux下mysql默認安裝完成后只有本地訪問的權限&#xff0c;沒有遠程訪問的權限…

Maven之自定義pom類型的基礎項目

摘要&#xff1a;在當前的軟件開發場景中&#xff0c;大都是通過maven管理項目&#xff0c;而如果使用maven的話&#xff0c;其實也會有很多問題&#xff0c;比如項目中依賴的版本管理就是一個很頭疼的事&#xff0c;如果一個項目中有很多人同時開發那么這就很可能造成大家添加…

Maven之搭建本地私服(nexus)倉庫

摘要&#xff1a;現在越來越多的項目都在使用Maven管理項目&#xff0c;尤其是在大型的項目團隊中使用Maven能帶來更加多的好處&#xff0c;私服的好處我相信大家都明白&#xff0c;在這里我就不多說了&#xff0c;它最重要的作用就是可以讓項目團隊成員更加方便的下載對應的項…

項目管理4321方法論

文章目錄 一、項目立項準備&#xff08;4步&#xff09;case1、識別價值---解決背后痛點的才是價值&#xff0c;價值是做任何事情的出發點case2、明確目標---支撐價值實現的&#xff0c;目標是 具體/可衡量/可達到/相關性/有時限的case3、識別干系人---找對人才能做對事&#x…

Maven之自定義archetype生成項目骨架(一)

摘要&#xff1a;使用過Maven的人都知道maven中有許多功能都是通過插件來提供的&#xff0c;今天我們來說一下其中的一個插件&#xff1a;maven-archetype-plugin&#xff0c;通過該插件可以自定義符合我們自己需求的archetype。 一:什么是Archetype 總之&#xff0c;原型是一…

匆匆那年之Java程序員之最近兩周的面試總結:

匆匆那年之Java程序員之最近兩周的面試總結&#xff1a; (一):匆匆那年之來帝都之初&#xff1a; 還記得那是2011年的冬天&#xff0c;我們一行20多個同學一起來到了這個一直向往的城市首都&#xff0c;剛到北京是凌晨4點30&#xff0c;負責送我們的老師 已經安排好了我們的住處…

Exception in thread main com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport e

摘要&#xff1a;在調用webservice客戶端代碼的時候報如下錯誤 Invoking reportLossByRdid... Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.UnknownHostException: opacat com.sun.xml.in…

org.springframework.http.converter.HttpMessageNotWritableException:

摘要&#xff1a;在使用SpringHibernate搭建RESTful API時&#xff0c;在Hibernate查詢出數據實體類使用jackson序列化為json時&#xff0c;返回頁面的時候報如下錯誤&#xff1a; 一&#xff1a;錯誤信息&#xff1a; HTTP Status 500 - Could not write JSON: No serializer …

Hessian Binary Web Service Protocol遠程接口調用入門

摘要&#xff1a;Hessian是一個輕量級的remoting onhttp工具&#xff0c;使用簡單的方法提供了RMI的功能. 相比WebService&#xff0c;Hessian更簡單、快捷。采用的是二進制RPC協議&#xff0c;因為采用的是二進制協議&#xff0c;所以它很適合于發送二進制數據。 hessian類似于…

Windows+Nginx+Tomcat搭建負載均衡和集群環境同時實現session共享(一)

摘要&#xff1a;隨著網站的訪問量越來越多&#xff0c;所以就考慮給網站增加服務器了&#xff0c;現在比較流行的做法就是給網站做集群環境&#xff0c;下面我把我做的過程記錄一下&#xff0c;方便日后查看&#xff0c;同時也希望可以幫助到有需要的朋友&#xff01; 一&…

Android開發中調用Spring CXF整合發布的WebService接口為什么拋出異常錯誤?

摘要&#xff1a;最近在協助同事搞Android調用WebService接口&#xff0c;再測試的過程中發現老師報錯&#xff0c;經過baidu&#xff0c;google&#xff0c;終于解決了&#xff0c;現在記錄一下&#xff1a; 一&#xff1a;錯誤信息&#xff1a; 2015-10-28 18:50:39 org.apac…

Eclipse,MyEclipse 安裝SVN插件

摘要&#xff1a;MyEclipse10.5安裝SVN插件最簡單的方式&#xff1a; 一&#xff1a;先到SVN官網下載對應版本的SVN插件包&#xff0c;我這里下載的site-1.10.10版本 下載地址&#xff1a;http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID2240 二&#xf…

MyEclipse 10.5 安裝SVN插件

摘要&#xff1a;MyEclipse10.5安裝SVN插件最簡單的方式&#xff1a; 一&#xff1a;先到SVN官網下載對應版本的SVN插件包&#xff0c;我這里下載的site-1.10.10版本 下載地址&#xff1a;http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID2240 二&#xf…