資源描述:
《oracle與mysql存儲過程語法區(qū)別.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、mysql、oracle存儲過程語法區(qū)別1、條件語句:mysql使用elseif關(guān)鍵字,oracle是elsif關(guān)鍵字;oracle:if表達(dá)式then表達(dá)式;elsif表達(dá)式;endif;mysql:if表達(dá)式then表達(dá)式;elseif表達(dá)式;endif;2、字符串連接oracle使用
2、
3、;mysql使用concat函數(shù);3、日期計算(年月日數(shù))mysql:函數(shù)TimeStampDiff()是MySQL本身提供的可以計算兩個時間間隔的函數(shù),語法為:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),其中unit單位有如下幾
4、種,分別是:SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,orYEAR。當(dāng)前時間:sysdate()字符轉(zhuǎn)日期:str_to_date()分隔符一致,年月日要一致;示例:selectstr_to_date('2008-4-215:3:28','%Y-%m-%d%H:%i:%s');日期轉(zhuǎn)字符:DATE_FORMAT(date,format)SELECTDATE_FORMAT(sysdate(),'%Y-%m-%d%H:%i:%s');數(shù)字轉(zhuǎn)字符:concat(num,’’);oracle:months_between求日期間隔月份,除以
5、12即為間隔年份;天數(shù),只需要日期直接相減;當(dāng)前時間:sysdate字符轉(zhuǎn)日期:to_date();日期轉(zhuǎn)字符:to_char(date,format)to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');數(shù)字轉(zhuǎn)字符:to_char(num)4、定義游標(biāo)oracel:CURSORcurPlanIndexisSELECTa.INDEX_SCORE,c.enum_value,c.dn_value,c.up_value,c.score,c.score_descFROMeval_plan_indexaJOINeval_index_scoreconc.ind
6、ex_id=a.index_idanda.plan_id=c.plan_idWHEREa.plan_id=V_PLAN_IDanda.index_id=V_INDEX_IDorderbydn_value;MYSQL:declarecurPlanIndexcursorforSELECTa.INDEX_SCORE,c.enum_value,c.dn_value,c.up_value,c.score,c.score_descFROMeval_plan_indexaJOINeval_index_scoreconc.index_id=a.index_idanda.plan_id=c.
7、plan_idWHEREa.plan_id=V_PLAN_IDanda.index_id=V_INDEX_IDorderbydn_value;5、selectinto賦值oracle有exception錯誤處理beginselectvalue_nameintovc_num_unitfromsys_dictwheredict_code='szdw'andvalue_code=v_num_unitandrownum<=1;exceptionwhenno_data_foundthenvc_num_unit:='';end;mysql如果select沒有數(shù)據(jù),則不執(zhí)行into操作,
8、變量值保持為上次結(jié)果,需要手工重置。最好能limit1;只返回一條數(shù)據(jù);