这是我大三第一学期《数据库基础》这门课的实验报告,总共15个实验,我挑了几个比较重要的放在博客上,方便查看和复习,尤其是最近SSM后端开发,希望对大家,以及将来的我有所帮助!
游标通俗化理解就是一个指针,通过指向一条条的记录,来实现我们想要的提取数据的功能。另外在声明游标那块,有很多关键字各有各的作用,以后有机会可以去一一尝试一下,比如KEYSET、DYNAMIC、FAST_FORWARD、SCROLL_LOCKS等等。
实验要求
1. 参考书中例7-3建立一个嵌套游标应用,其功能是按学号升序列出全体学生信息(学事情、姓名、院系名称)及其所修课程的名称和考试成绩信息(基于实验5建立的表和实验6插入的数据)。
2. 按要求逐一读出游标中的记录并显示。
全部总结链接
SQL基础 (数据库、表、数据的增删改查、视图相关,以及所有实验报告源代码)
游标 (类似C++ 的 指针)
存储过程(类似 C++ 的自定义函数)
触发器 (类似 自定义的陷阱,或者说是监听器,满足某个条件了执行某个方法)
用户权限及权限管理 (类似Windows的多用户管理)
并发控制 (了解多个用户同时对数据造成错误的情况 和 解决方法)
数据恢复(当数据库数据丢失,相应的解决方法)
实验过程
第一步:声明游标
图 1 第一步 ---> 声明游标
我的基本语法:
declare 游标名字 Corsor [scroll] for SQL语句
注:另外有很多可有可无的关键字,各有各的作用,其中scroll的官方定义:指定所有的提取选项均可用。感觉很高级的样子 。 其中sql代码根据题目要求,查询每个学生的学号、所在院系名、课程名、成绩,并且按照学号升序排序。
第二步:打开游标
图 2 第二步 ---> 打开游标
我的基本语法:
open 游标名
注:这个很简单暴力了,open就是打开,顾名思义就是打开游标
第三步:声明变量
图 3 ---> 声明游标
我的基本语法:
Declare [变量名 数据类型], [变量名 数据类型], [变量名 数据类型]……
第四步:用游标抓取数据
图 4 --->用游标抓取数据
我的基本语法:
fetch First from 游标名 into 变量名1, 变量名2, 变量名3……
while @@fetch_status = 0
begin
需要执行的操作……
需要执行的操作……
需要执行的操作……
fetch next from 游标名 into 变量名1, 变量名2, 变量名3……
end
注:其中@@fetch_status 为0 代表游标语句执行成功 为-1或-2代表执行失败 其中-1是遇到了小错误 -2是遇到了大错误…(我的通俗化理解)
第五步:关闭游标 释放
图 5 --->关闭释放游标我的基本语法:
Close 游标名 --关闭游标
Deallocate 游标名 --释放游标内存
最终结果:
图 6 最终结果