欢迎来到天天文库
浏览记录
ID:51723446
大小:360.50 KB
页数:8页
时间:2020-03-15
《oracle存储过程练习题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.创建用户kaifa(密码亦为kaifa),并分配connect,createtable,resource权限。CREATEuserKAIFAIDENTIFIEDBYKAIFADEFAULTTABLESPACEHOSDATATEMPOARYTABLESPACETEMPDATA;GRANTCONNECT,CREATETABLE,RESOURCETOKAIFA2.在做报表统计时,需要根据报表日期和币种从概要表中查询本期余额。概要表(CCB_GYB)信息如下:ACCOUNTING_DATEDATE报表日期(唯一索引)RMB_YTD_BALANCENUMBE
2、R人民币余额CNY_YTD_BALANCENUMBER本位币余额USD_YTD_BALANCENUMBER外币折美元余额其中币种代码如下:--RMB人民币--CNY本位币--USD外币折美元如果币种为RMB,则取出人民币余额作为本期余额;为CNY,则取本位币余额;为USD则取外币折美元余额。请编写一个函数GetCurrBal(qrp_rqINVARCHAR2,--报表日期qrp_codeINVARCHAR2--币种)CREATEORREPLACEFUNCTIONGetCurrBal(Vqrp_rqDate,--报表日期Vqrp_codeVARCHAR2
3、--币种)RETURNNUMBERISVAMOUNTNUMBER;VDATEDate;BEGINSELECTACCOUNTING_DATEINTOVDATEFROMCCB_GYBWhereACCOUNTING_DATE=Vqrp_rq;IFVqrp_code='RMB'THENSELECTRMB_YTD_BALANCEINTOVAMOUNTFROMCCB_GYBWHEREVqrp_code='RMB'ANDACCOUNTING_DATE=VDATE;ELSEIFVqrp_code='CNY'THENSELECTCNY_YTD_BALANCEINTOVA
4、MOUNTFROMCCB_GYBWHEREVqrp_code='CNY';ELSESELECTUSD_YTD_BALANCEINTOVAMOUNTFROMCCB_GYBWHEREVqrp_code='USD';ENDIF;ENDIF;COMMIT;RETURNVAMOUNT;END;---对多行处理,用游标---多单行处理,用SELECT实现此功能,并能在sqlplus里调用。其中建表语句如下:createtableCCB_GYB(ACCOUNTING_DATEDATE,RMB_YTD_BALANCENUMBER,CNY_YTD_BALANCENUMB
5、ER,USD_YTD_BALANCENUMBER);创建索引:createuniqueindexCCB_GYB_IDXonCCB_GYB(ACCOUNTING_DATE);1.假设有张学生成绩表(CJ)如下[姓名][学科][成绩]张三语文80张三数学86张三英语75李四语文78李四数学85李四英语78现有需求如下:(1)要求统计分数段的人数。显示结果为:[成绩] [人数]0<成绩<60 060<成绩<80 080<成绩<100 5CREATEORREPLACEProcedureSCOUNTIsVCOUNT1Varchar2(10);
6、VCOUNT2Varchar2(10);VCOUNT3Varchar2(10);BeginSelectCount(*)IntoVCOUNT1FromCJWhereSCOREBetween0And60;SelectCount(*)IntoVCOUNT2FromCJWhereSCOREBetween61And80;SelectCount(*)IntoVCOUNT3FromCJWhereSCOREBetween81And100;dbms_output.put_line('分数'
7、
8、‘‘
9、
10、‘人数’);dbms_output.put_line('0<成绩<60
11、'
12、
13、‘‘
14、
15、VCOUNT1);dbms_output.put_line('60<成绩<80'
16、
17、‘‘
18、
19、VCOUNT2);dbms_output.put_line('81<成绩<100'
20、
21、‘‘
22、
23、VCOUNT3);End;(2)要求根据姓名,把各科成绩显示在一条记录里。显示结果如下:姓名 语文 数学 英语 总成绩--------------------------------------------------李四 78 85 78 2
24、41张三 80 86 75
此文档下载收益归作者所有