资源描述:
《oracle与mysql存储过程语法区别.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、mysql、oracle存储过程语法区别1、条件语句:mysql使用elseif关键字,oracle是elsif关键字;oracle:if表达式then表达式;elsif表达式;endif;mysql:if表达式then表达式;elseif表达式;endif;2、字符串连接oracle使用
2、
3、;mysql使用concat函数;3、日期计算(年月日数)mysql:函数TimeStampDiff()是MySQL本身提供的可以计算两个时间间隔的函数,语法为:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),其中unit单位有如下几
4、种,分别是:SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,orYEAR。当前时间:sysdate()字符转日期:str_to_date()分隔符一致,年月日要一致;示例:selectstr_to_date('2008-4-215:3:28','%Y-%m-%d%H:%i:%s');日期转字符:DATE_FORMAT(date,format)SELECTDATE_FORMAT(sysdate(),'%Y-%m-%d%H:%i:%s');数字转字符:concat(num,’’);oracle:months_between求日期间隔月份,除以
5、12即为间隔年份;天数,只需要日期直接相减;当前时间:sysdate字符转日期:to_date();日期转字符:to_char(date,format)to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');数字转字符:to_char(num)4、定义游标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没有数据,则不执行into操作,
8、变量值保持为上次结果,需要手工重置。最好能limit1;只返回一条数据;