mssql sqlserver 游标的分类


摘要:
下文根据游标结果集的类型对游标进行分类,如下所示:
实验环境:sql server 2008 R2



游标分类:

游标常被分为以下四类:

1.静态游标

静态游标结果集:指游标结果集中的数据,一旦生成就不会发生变化。
例:
生成一个静态游标,并将查询的结果集放入游标中,当我们对原表中的数据进行操作时,静态游标中的数据不会发生变化(除非我们重新生成游标)。

2.动态游标

动态游标相对静态游标而言,当游标结果集中所对应的原始表中的数据发生变化,原始表数据的变化对游标均可见。

3.只进游标

只进游标又称之为前进游标,只支持对游标从头到尾依次读取数据。
游标不可向后滚动。
只进游标不支持滚动,只支持从头到尾顺序提取数据,数据库执行增删改,在提取时是可见的,但由于该游标只能进不能向后滚动,所以在行提取后对行做增删改是不可见的。

4.keyset游标

keyset游标,表中各成员身份和顺序都是固定的。当打开游标时,游标结果集中行数据被唯一标识符标识,被标识的列做删改时,用户滚动游标是可见的,如果没被标识的列增该,则不可见,比如insert一条数据,是不可见的,若可见,须关闭重新打开游标

静态游标在使用时无法检测到表数据变化,占用系统资源较少;
动态游标在使用时可检测到数据变化,占用系统资源较多;
keyset游标则处于他们中间,所以根据需求建立适合自己的游标,避免资源浪费。

mssql sqlserver 游标产生的场景


摘要:
下文将讲述sqlserver数据库中,游标产生的缘由,如下所示:


sqlserver 是一个对集合处理的程序,
在sqlserver中,我们常常需要对一系列符合条件的结果进行相关处理。
当我们采用select 返回符合条件的一系列结果集时,此时结果集并不能缓存和
被应用程序处理(和应用程序交互), 现在我们就需要一种程序来保存结果集,并且能对结果集
进行相关的处理,此时sqlserver引擎就为大家提供了一种对象,我们将此对象称之为“游标”。

游标简介:

游标常用于存储过程、触发器、自定义函数中。
——————-游标的功能—————
1.依次定位结果集中所有行
2.对当前游标结果集中的数据进行读写操作

mssql sqlserver 视图重命名的方法分享


摘要:
下文讲述视图的重命名的方法,如下所示:
实验环境:sql server 2008 R2


例:

   -----sp_rename语法说明:
   sp_rename  '参数1','参数2','类型'
   ----------参数说明--------
   参数1:
       原对象名称
   参数2:
       新对象名称
   类型:
       待变更对象类型。
        column:列变更
        database:数据库名称变更
        index:索引名称变更
        userdatatypes:用户自定义数据类型和clr用户自定义类型的变更
        object:所有sys.objects中跟踪的类型
  ------------------------例------------------------
   exec sp_rename 'dbo.vw_test','dbo.vw_newView'