第5章 开发子程序与包(上机)01

第5章 开发子程序与包(上机)01

ID:20808618

大小:512.00 KB

页数:17页

时间:2018-10-16

第5章 开发子程序与包(上机)01_第1页
第5章 开发子程序与包(上机)01_第2页
第5章 开发子程序与包(上机)01_第3页
第5章 开发子程序与包(上机)01_第4页
第5章 开发子程序与包(上机)01_第5页
资源描述:

《第5章 开发子程序与包(上机)01》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、上机5开发子程序和包上机内容Ø过程Ø函数Ø程序包上机目标Ø掌握过程的创建与使用Ø掌握函数的创建与使用Ø掌握包的创建与使用阶段1指导部分训练内容Ø创建并使用函数Ø创建并使用过程需求说明在应用程序中,财务处理程序经常需要将数字转换成人民币的大写形式。例如,123456.78经转换后大写为“壹拾贰万叁仟肆佰伍拾陆元柒角捌分”。要求创建一个函数,实现将数字转换成人民币大写的功能。实现思路(1)创建一个函数,命名为fun_change_rmb,该函数必须提供一个IN参数,用于接受用户输入的数字人民币。(2)该函数必须返回转换后的人民币大写,返

2、回值类型为VARCHAR2字符串类型。(3)创建fun_change_rmb函数的完整代码。CREATEORREPLACEFUNCTIONnum2rmb(jeNUMBER)RETURNVARCHAR2ISresultvarchar2(100);ipls_integer;snumvarchar2(20):=ltrim(replace(to_char(abs(je),'9999999999999990.99'),'.'));lenpls_integer:=length(snum);schvarchar2(20):='零壹贰叁肆伍陆柒捌玖

3、';sjinvarchar2(50):='分角圆拾佰仟万拾佰仟亿拾佰仟万拾佰仟';srmbvarchar2(100):='';numpls_integer;jinvarchar(2);s_numpls_integer:=0;--'0'起始位置e_numpls_integer:=0;--'0'结束位置第5章上机第17页共17页beginforiin1..lenloopnum:=to_number(substr(snum,i,1));ifnum<>0then--非'0'时处理ifs_num=0thensrmb:=srmb

4、

5、substr

6、(sch,num+1,1)

7、

8、substr(sjin,len-i+1,1);--前面字符非'0',正常联接...elsesrmb:=srmb

9、

10、--否则casewhens_num=e_numthen--前面只有一个'0'cases_numwhen7then'万'--只处理进位when11then'亿'when15then'万'endwhene_num<12then--否则(多个'0'处理)casewhens_num<7then''--万以内...whens_num<11thencasewhene_num<8ands_num<10th

11、en'万'endwhens_num<15thencasewhene_num<12then'亿'endelse'万亿'endwhene_num<16ands_num>14then'万'end

12、

13、casewhens_num>3ande_num<3then'圆零'whene_num=3then'圆'whene_numnotin(7,11,15)ors_num-e_num>2then'零'end;srmb:=srmb

14、

15、substr(sch,num+1,1)

16、

17、substr(sjin,len-i+1,1);endif;s_num:=0;e_

18、num:=0;elseifs_num=0then--当s_num=0时'0'串起始s_num:=len-i+1;--记录开始e_num:=s_num;elsee_num:=len-i+1;endif;endif;endloop;ifs_num<>0then--此时以'0'结尾srmb:=srmb

19、

20、casewhens_num=lenthen'零圆整'--全'0'串,加...whens_num=1ors_num=2then'整'--分(1),角(2)后加...whens_num<7ors_num=10then'圆整'whens_num

21、<11then'万圆整'whens_num<15then'亿圆整'else'万亿圆整'end;elsesrmb:=srmb

22、

23、'整';--不以'0'结尾,加...endif;ifje<0thensrmb:='负'

24、

25、srmb;endif;RETURNsrmb;endnum2rmb;(4)图2.5.1将演示fun_change_rmb函数的使用过程。第5章上机第17页共17页图2.5.1使用fun_change_rmb函数实现人民币大小写转换练习部分(一)需求说明假定存在一张商品销售表tb_shop_sell,其数据结构如图2.5.2

26、所示。要求:(1)创建此商品销售表。(2)创建一个过程,用于向表中插入数据。(3)创建一个视图,并使用fun_change_rmb函数,查询出以人民币大写形式表示的销售总额。图2.5.2商品销售表实现思路(1)创建商品销售表tb_sh

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

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

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