欢迎来到天天文库
浏览记录
ID:13151560
大小:374.50 KB
页数:5页
时间:2018-07-20
《oracle 存储过程练习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.创建用户kaifa(密码亦为kaifa),并分配connect,createtable,resource权限。2.在做报表统计时,需要根据报表日期和币种从概要表中查询本期余额。概要表(CCB_GYB)信息如下:ACCOUNTING_DATEDATE报表日期(唯一索引)RMB_YTD_BALANCENUMBER人民币余额CNY_YTD_BALANCENUMBER本位币余额USD_YTD_BALANCENUMBER外币折美元余额其中币种代码如下:--RMB人民币--CNY本位币--USD外币折美元如果币种为RMB,则取出人民币余额作为本期余额;为CNY,则取本位币余额;为USD则
2、取外币折美元余额。请编写一个函数GetCurrBal(qrp_rqINVARCHAR2,--报表日期qrp_codeINVARCHAR2--币种)实现此功能,并能在sqlplus里调用。其中建表语句如下:createtableCCB_GYB(ACCOUNTING_DATEDATE,RMB_YTD_BALANCENUMBER,CNY_YTD_BALANCENUMBER,USD_YTD_BALANCENUMBER);创建索引:createuniqueindexCCB_GYB_IDXonCCB_GYB(ACCOUNTING_DATE);3.假设有张学生成绩表(CJ)如下[姓名][学科]
3、[成绩]张三语文80张三数学86张三英语75李四语文78李四数学85李四英语78现有需求如下:(1)要求统计分数段的人数。显示结果为:[成绩] [人数]0<成绩<60 060<成绩<80 080<成绩<100 5(2)要求根据姓名,把各科成绩显示在一条记录里。显示结果如下:姓名 语文 数学 英语 总成绩--------------------------------------------------李四 78 85 78 241张三
4、 80 86 75 241总分 158 171 153 482使用SQL语句或存储过程(显示结果时可用dbms_output打印出来)实现这两个功能。1.某一客户表包含如下信息:INDIVIDUALID客户IDVARCHAR2(20)(唯一键)BIRTHDATE出生日期DateGENDER性别VARCHAR2(10)SALARY月收入NUMBER(10,2)CERT-TYPE证件类型VARCHAR2(10)CERT-NO证件号码VARCHAR2(20)CREATED-T
5、S进入系统的时间TIMESTAMP现要把该表数据导出成文件,导出的内容格式如下:属性列列长度备注INDIVIDUALID20BIRTHDATE8格式为:yyyymmddGENDER10SALARY13CERT-TYPE10CERT-NO20CREATED-TS17格式为:yyyymmddhh24missff3要求每个字段列的内容长度是固定的,不足部分由空格补齐,字符串左对齐(右补空格),数字右对齐。如果列的内容为null,需先进行处理,字符串默认为空格,数字默认为0,日期默认为99991231,时间戳默认为99991231000000000。请编写程序实现该导出功能。创建表脚本:
6、createtabletb1010(INDIVIDUALIDVARCHAR2(20),BIRTHDATEdate,GENDERVARCHAR2(10),SALARYNUMBER(10,2),CERT_TYPEVARCHAR2(10),CERT_NOVARCHAR2(20),CREATED_TSTIMESTAMP);1.某语音电话本表信息如下:Call_book_infoMOBILE_ID移动号码VARCHAR2(12)CALLIN_TIME呼入时间DateCALLOUT_TIME呼出时间DateSTATUS状态CHAR(1)在某次大批量操作后,数据记录达到100万,MOBILE_
7、ID估计有2万个重复,现要求删除重复的号码(只保留一条),因为该表是业务表,删除时不能影响业务的正常使用。编写存储过程实现删除重复号码的功能。要求如下:(1)为保证删除的数据以后可查,在删除时要先做备份,备份不成功则不能进行删除。(2)要有日志记录,比如删除所花时间,删除成功了多少条,失败多少条等操作信息。(3)如果出现性能问题,要跟踪原因。生成trace文件进行分析,改进程序。6.阅读下列说明,回答问题1至问题5。【说明】 某工厂的信息管理数据库的部分关系模式如下所示:职工(
此文档下载收益归作者所有