数据库游标实验报告.doc

数据库游标实验报告.doc

ID:51835766

大小:59.00 KB

页数:3页

时间:2020-03-16

数据库游标实验报告.doc_第1页
数据库游标实验报告.doc_第2页
数据库游标实验报告.doc_第3页
资源描述:

《数据库游标实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库实验报告计算机系一、实验目的1、掌握创建游标的方法和步骤;2.掌握游标的使用方法;二、实验内容1、游标的创建;2、游标的使用方法。三、实验步骤1、游标的创建。1)使用S_C数据库中的S表、C表、SC表创建一个存储过程—sp_CURSOR1。该存储过程的作用是:显示所有的课程信息,如果成绩>=90显示成绩本身;成绩>=80显示良;成绩>=70显示中;成绩>=60显示及格;成绩>=0显示不及格;如果没有成绩则显示无成绩。信息还包含学号,姓名,课程和成绩,显示格式如下:学号---姓名---课程---成

2、绩,如图1所示。要求使用游标技术实现上述要求,使用Print语句实现显示。图1成绩显示格式sp_CURSOR1的创建语句:createprocsp_CURSOR1asDeclare@snamevarchar(50)Declare@snovarchar(20)Declare@cnovarchar(20)Declare@cnamevarchar(20)Declare@gradevarchar(20)DeclareSCursorCursorForSelectsno,cno,gradeFromSCOpenSC

3、ursorFetchNextFromSCursorInto@sno,@cno,@gradeWhile@@FETCH_STATUS=0beginselect@sname=snameFromSwheresno=@snoselect@cname=cnameFromCwherecno=@cnoif(@grade='')Print@sno+@sname+@cname+'null'-2-数据库实验报告elseif(@grade>=90)Print@sno+@sname+@cname+@gradeelseif(@g

4、rade>=80)Print@sno+@sname+@cname+'良'elseif(@grade>=70)Print@sno+@sname+@cname+'中'elseif(@grade>=60)Print@sno+@sname+@cname+'及格'elsePrint@sno+@sname+@cname+'不及格'FetchNextFromSCursorInto@sno,@cno,@gradeEndCloseSCursorDeallocateScursorgo结果描述:2、游标的使用。计算银行利息

5、。有一储户账号为0001,银行存取记录如下:交易日期交易金额账户余额备注2010-10-011000010000开户存入2010-12-2020000300002011-02-03-5000250002011-05-01-3000220002011-10-10600028000存取记录数据表名为fundlist,字段名为id(编号,int),cid(储户账号,varchar(20)),ex-date(交易日期,datetime),ex-money(交易金额,money),balance(账户余额,mo

6、ney)。根据有关规定,银行存款利息为:2011-04-01号之前(包括)为年利息2%,之后(不包括)为年利息3%,请用编写一个存储过程sp_cal_interest用来计算该储户的当前利息,要求利用游标实现。说明:当前用getdate()表示,年利息2%用存入的天数*2%/365表示利息。createprocsp_cal_interestasDeclare@idintDeclare@cidvarchar(20)Declare@ex_datedatetimeDeclare@ex_moneymoneyD

7、eclare@balancemoneyDeclare@pre_ex_datedatetimeDeclare@pre_balancemoneyDeclare@resultmoney-2-数据库实验报告DeclareSCursorCursorForSelectid,cid,ex_date,ex_money,balanceFromfundlistOpenSCursorFetchNextFromSCursorInto@id,@cid,@ex_date,@ex_money,@balanceset@pre_ex_

8、date=@ex_dateset@pre_balance=@balanceset@result=0While@@FETCH_STATUS=0beginset@pre_balance=@pre_balance+@resultif(@ex_date<=Cast('2011-04-01'asdatetime))beginset@result=@pre_balance*(datediff(day,@pre_ex_date,@ex_date))*2/36500en

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

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

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