一、实验目的 1、掌握创建游标的方法和步骤; 2.掌握游标的使用方法; 二、实验内容 1、游标的创建; 2、游标的使用方法。 三、实验步骤 1、游标的创建。 1)使用S_C数据库中的S表、C表、SC表创建一个存储过程sp_CURSOR1。该存储过程的作用是:显示所有的课
一、实验目的
1、掌握创建游标的方法和步骤;
2.掌握游标的使用方法;
二、实验内容
1、游标的创建;
2、游标的使用方法。
三、实验步骤
1、游标的创建。
1)使用S_C数据库中的S表、C表、SC表创建一个存储过程—sp_CURSOR1。该存储过程的作用是:显示所有的课程信息,如果成绩>=90显示成绩本身;成绩>=80显示良;成绩>=70显示中;成绩>=60显示及格;成绩>=0显示不及格;如果没有成绩则显示无成绩。信息还包含学号,姓名,课程和成绩,显示格式如下:学号---姓名---课程---成绩,如图1所示。
要求使用游标技术实现上述要求,使用Print语句实现显示。
图1 成绩显示格式
sp_CURSOR1的创建语句:
IF EXISTS(SELECT name FROM sysobjects WHERE name = 'sp_CURSOR1' AND type = 'P')
DROP PROCEDURE sp_CURSOR1
GO
CREATE PROCEDURE sp_CURSOR1
AS
BEGIN
DECLARE @sno char(10)
DECLARE @name char(10)
DECLARE @cno char(10)
DECLARE @grade int
DECLARE S_CURSOR CURSOR
FOR
SELECT S.sno, S.sname, C.cname, SC.grade FROM SC, S, C
WHERE S.sno = SC.sno AND SC.cno = C.cno
OPEN S_CURSOR
FETCH NEXT FROM S_CURSOR INTO @sno, @name, @cno, @grade
WHILE @@FETCH_STATUS = 0
BEGIN
IF @grade IS NULL
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---无成绩'
ELSE IF @grade >= 90
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---'+CONVERT(VARCHAR(20), @grade)
ELSE IF @grade >= 80
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---良'
ELSE IF @grade >= 70
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---中'
ELSE IF @grade >= 60
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---及格'
ELSE IF @grade >= 0
PRINT RTRIM(@sno) +'---'+ RTRIM(@name) +'---'+ RTRIM(@cno) +'---不及格'
FETCH NEXT FROM S_CURSOR INTO @sno, @name, @cno, @grade
END
CLOSE S_CURSOR
DEALLOCATE S_CURSOR
END
结果描述:
2、游标的使用。
计算银行利息。有一储户账号为0001,银行存取记录如下:
交易日期 |
交易金额 |
账户余额 |
备注 |
2010-10-01 |
10000 |
10000 |
开户存入 |
2010-12-20 |
20000 |
30000 |
|
2011-02-03 |
-5000 |
25000 |
|
2011-05-01 |
-3000 |
22000 |
|
2011-10-10 |
6000 |
28000 |
|
存取记录数据表名为fundlist,字段名为id(编号,int),cid(储户账号,varchar(20)),ex-date(交易日期,datetime),ex-money(交易金额,money),balance(账户余额,money)。根据有关规定,银行存款利息为:2011-04-01号之前(包括)为年利息2%,之后(不包括)为年利息3%,请用编写一个存储过程sp_cal_interest用来计算该储户的当前利息,要求利用游标实现。说明:当前用getdate()表示,年利息2%用存入的天数*2%/365表示利息。
IF EXISTS(SELECT name FROM sysobjects WHERE name = 'sp_cal_interest' AND type = 'P')
DROP PROCEDURE sp_cal_interest
GO
CREATE PROCEDURE sp_cal_interest
AS
DECLARE @time datetime
DECLARE @money money
DECLARE @pretime datetime
DECLARE @all money
DECLARE @lixi money
DECLARE @T datetime
BEGIN
SET @T = CAST('2011-04-01' AS datetime)
DECLARE f_cursor CURSOR FOR
SELECT ex_date, balance FROM fundlist
OPEN f_cursor
FETCH NEXT FROM f_cursor INTO @time, @money
SET @pretime = @time
SET @all = @money
WHILE @@FETCH_STATUS = 0
BEGIN
IF @time
SET @lixi = @all*DATEDIFF(DAY, @pretime, @time)*0.02/365
ELSE IF @time > @T AND @pretime
SET @lixi = @all*DATEDIFF(DAY, @pretime, @T)*0.02/365
+@all*DATEDIFF(DAY, @T, @time)*0.03/365
ELSE
SET @lixi = @all*DATEDIFF(DAY, @pretime, @time)*0.03/365
SET @all = @all+@lixi+@money
SET @pretime = @time
FETCH NEXT FROM f_cursor INTO @time, @money
END
PRINT @lixi
CLOSE f_cursor
DEALLOCATE f_cursor
END
四、实验总结

上周,马斯克举办了 Neuralink 的 Show & Tell 演示活动,向世人展示了脑机接口的最新进展。会上,马斯克表示,从原型到生产非常困难,面临诸多挑战。Neuralink 一直在努力启动人体试验,并且已向 FDA 提交了开始人体试验所需的所有文件。马斯克估计,第一个 Neuralink 设备可能会在 5-6 个月内进入人脑。会上马斯克强调, Neuralink 尊重动物受试者,并且脑机接口设备植入动物体内之前已经进行了广泛的基准测试。两只猴子 Pager 和

随着抖音的火爆,越来越多的个人和企业开始关注抖音账号矩阵。抖音账号矩阵是指通过创建多个相关账号,形成一个有机的整体,以达到扩大品牌影响力、提高用户粘性等目的。那么,抖音账号矩阵的好处包括什么呢?做抖音账号矩阵的目的是什么呢?本文将详细探讨这些问题。一、抖音账号矩阵的好处包括什么?增加品牌曝光:借助创建多个抖音账号,品牌信息能够触达更多潜在用户,有助于提升品牌的知名度和美誉度。提升内容曝光:利用抖音的推荐算法,通过多个账号发布内容,可以增加品牌和产品的曝光机会,提高它们在平台上的可见度。3.实现精

假设您有一个要求,您必须从50个人那里收集数据。您可以将Word文件发送给他们,他们可以轻松填写。但是您需要所有50个文档中的格式和对齐方式以及其他所有内容都相同。好吧,如果您将原始Word文件提供给这50个人,而不是50个相同的文档,您将得到50个完全不同的文档,不用说。那么,有解决办法吗?当然,您知道我们总有适合您的解决方案!让我们谈谈模板!Word模板是您的任务的完美解决方案。通过使用Word模板,您可以在用户打开模板文档时提示他们输入一些数据。他们可以在用户提

随着互联网的普及以及人们对电影的热爱,电影网站成为了一个受欢迎的网站类型。在创建一个电影网站时,一个好的框架是非常必要的。Yii框架是一个高性能的PHP框架,易于使用且具有出色的性能。在本文中,我们将探讨如何使用Yii框架创建一个电影网站。安装Yii框架在使用Yii框架之前,需要先安装框架。安装Yii框架非常简单,只需要在终端执行以下命令:composer

Windows11拥有看似无限量的自定义选项,从默认设置到Internet上的所有第三方应用程序。甚至有一些应用程序可以改变鼠标光标的外观。修改光标是使计算机具有独特外观的好方法。您不必在每台计算机上粘贴相同的、无聊的黑白指针。但即便如此,您也不必下载软件来更改光标的外观。如何更改光标的外观?Windows11为光标提供了少量的自定义。您可以通过进入控制面板来更改光标,并在此处选择鼠标选项。将出现一个名为“鼠标属性”的新窗口。在鼠标属性中,您可以更改配色方案、大小和设计。您的计算机自然会在其文

如何通过编写实用代码来掌握PHP8扩展的使用引言:PHP(HypertextPreprocessor)是一种广泛使用的开源脚本语言,常用于编写Web应用程序。随着PHP8的发布,新的扩展和功能使得开发者能够更好地满足业务需求和提高代码效率。本文将介绍如何通过编写实用代码来掌握PHP8扩展的使用。一、了解PHP8扩展PHP8引入了许多新的扩展,如FFI、

轻松掌握PyQT安装技巧:详细教程分享PyQT是一种流行的PythonGUI库,它提供了丰富的功能和工具,帮助开发者快速而轻松地创建用户界面。PyQT的安装过程可能对于初学者来说有些困惑,本文将详细介绍PyQT的安装方法,并附带具体的代码示例,以帮助读者轻松掌握这一技巧。安装Python和PIP在开始安装PyQT之前,首先需要确保电脑上已经安装了Pytho

建立计算机网络的主要目的是实现计算机资源的共享;资源共享是指在网络中多台计算机或同一计算机中的多个用户,同时使用硬件和软件资源,要实现资源共享,必须由操作系统进行协调管理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器