对于没有接触过游标的人来说,理解游标对于我来说简直难受,因为python中没有那么多规矩,都是很简单的概念,但是数据库中却不一样,真的很麻烦,python果然是最简单的语言。
游标简而言之的理解就是一个方法,什么方法呢,我们在查询后得到的结果是一个数据集,这个数据集我们只能”看“,我们是无法直接对这个结果集进行操作的,也就是说不能像python一样对行单独操作,有了游标,这样的操作(对查询的数据集进行单独操作)就有了可行性,就是这个意思,这就是游标的方法作用。
我们简单看看游标的操作代码
以上我们利用游标得到了一行行的数据,而不是像select * from dbo.score ,得到的是一个数据集。
对代码需要说明的几点:
1、WHILE @@FETCH_STATUS=0 /判断FETCH语句是否执行成功/
@@FETCH_STATUS是一个全局变量,判断FETCH语句是否执行成功,这是一个固定的语句
加上循环时为了一行行的读取,因为单独的FETCH NEXT FROM cursor_score,只能得到一行数据。
2、关闭游标和释放游标的重要性
如果我们不关闭游标和释放游标,当我们再次运行代码的时候会出现错误,请一定要养成良好的习惯,关闭游标和释放游标
3、BEGIN END
这是控制流语言的关键字,指示接下来要执行的代码块,一般包含在其他控制流程中,如if,,,while等
其实这是为了让代码更加清晰,让系统能够识别,特别是复杂的语句中。在简单的语句中,不使用BEGIN END也是可以的。