oracle开发 VS INFORMIX开发

oracle开发 VS INFORMIX开发

ID:42578500

大小:17.91 KB

页数:8页

时间:2019-09-18

oracle开发 VS INFORMIX开发_第1页
oracle开发 VS INFORMIX开发_第2页
oracle开发 VS INFORMIX开发_第3页
oracle开发 VS INFORMIX开发_第4页
oracle开发 VS INFORMIX开发_第5页
资源描述:

《oracle开发 VS INFORMIX开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、变量定义Oracle:  v_table_nameUSER_TABLES.table_name%TYPE;Informix:define  v_table_namelikesystables.tabname;判断某张表是否被锁住Oracle:  selectcount(*)intov_countfromv$locked_objectwhereobject_id  in(selectobject_idfromuser_objectswhereobject_name=upper('fact_g_gprs_settle'));Informix:selectcount(*)i

2、ntov_countfromsysmaster:syslockswhereowner>0andwaiter>0andtabname=lower(‘fact_G_gprs_settle'));to_char和to_date函数Oracle:to_char(sysdate,'yyyymmdd')to_date(‘20080910’,’yyyymmdd’)Informix:  to_char(today,’%Y%m%d‘);to_char(current,’%Y%m%d’);to_date(‘20080910’,%Y%m%d);在日期中增加某个单元值Oracle:增加1天:

3、  sysdate+1增加一分钟:SYSDATE+1/24/60Informix:增加1天:  today+1unitsday(增加其他时间单元方法类似);增加1分钟:current+1unitsminute判断是否是星期六Oracle:to_char(to_date(sampling_date,'yyyymmdd'),'fmday')='星期六'  informix:weekday(to_date(sampling_date,'yyyymmdd'))=6DUALOracle:selectto_char(sysdate-i,'yyyymmdd')intov_datef

4、romdual;Informix:letv_date=to_char(today–iunitsday,’%Y%m%d’)不需要和数据库交互;或者selectto_char(today–iunitsday,‘%Y%m%d')intov_datefromdual;其中dual是sysmaster:sysdual的同义词,已经在zhjs_app中创建。其中:i是整形变量others  exception的转换Oracle:exception  whenotherstheno_returncode:=-1;o_returnmsg  :=substr('[01]'

5、

6、'p_bi

7、_control_call_code错误告警'

8、

9、sqlerrm,1,255);rollback;Informix:definesql_errint;defineisqm_errint;defineerr_infovarchar(255)onexceptionsetsql_err,isam_err,err_info--informix依次把sqlcode,isamcode和错误信息传递给上述3个变量;leto_return_code=-1let=substr('[01]'

10、

11、'p_bi_control_call_code错误告警'

12、

13、err_info,1,255);r

14、ollback;returno_returncode,o_returnmsg;endexception;人工触发exceptionOracle:e_errorexception;/*exception是一个变量*/ifv_flagnotin('a','b')thenraisee_error;endif;exceptionwhene_errorthenrollback;vo_errmsg:='[p_expdb_acc_d_sms]error:'

15、

16、vo_errmsg;vo_return:='1161';Informix:  onexceptionin(30000)rol

17、lback;letvo_errmsg='[p_expdb_acc_d_sms]error:'

18、

19、vo_errmsg;letvo_return='1161';returnvo_errrms,vo_returnendexception;ifv_flagnotin('a','b')thenraiseexception30000;endif;注意:1)exception的错误号必须是一个smallint的数字;2)informix通过return语句获得返回值;而oracle通过头文件的声明来获得;3)无论是informix还是oracle在触发except

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。