易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL数据库

 CURSOR
==================================
l  SQL 游标CURSOR的使用
 
使用起来很简单,先定义,然后赋个值,打开,通过While Loop 一个一个读下去,最后关闭,释放内存。基本套路如下:
DECLARE MyCursor cursor /* 声明游标,默认为单纯向前的游标。如果想要前后跳来跳去的,写成Scroll Cursor即可 */
FOR
SELECT Column1, Column2 from 某某表
Where 某某条件
OPEN MyCursor /* 打开游标 */
FETCH NEXT from MyCursor Into @A, @B /* 读取第1行数据*/
WHILE @@FETCH_STATUS = 0 /* 用WHILE循环控制游标 */
BEGIN /*BEGIN-END 块*/
//在这里,用@A,@B做点事,或者改一改值什么的.
FETCH NEXT from MyCursor Into @A, @B /* 抓下一行 */
END
CLOSE MyCursor /* 关闭游标 */
DEALLOCATE MyCursor /* 删除游标,释放内存 */
声明游标///////////////////////
USE pubs
GO
DECLARE authors_cursor CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
GO
USE pubs
GO
DECLARE authors_cursor1 CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
FOR READ ONLY
GO
USE pubs
GO
DECLARE authors_cursor2 CURSOR FOR
SELECT au_id,au_fname,au_lname
from authors
FOR UPDATE
GO
 
打开游标////////////
DECLARE mancursor CURSOR FOR
SELECT *
from db_manpowerinfo.dbo.人事表
WHERE 编号='00019'
OPEN mancursor
FETCH NEXT from mancursor
CLOSE mancursor
 
读取游标中的数据/////////////////////
DECLARE mancursor1 CURSOR FOR
SELECT 编号,姓名,性别,身份证号
from db_manpowerinfo.dbo.人事表
OPEN mancursor1
FETCH NEXT from mancursor1
WHILE @@FETCH_STATUS=0
BEGIN
  FETCH NEXT from mancursor1
END
CLOSE mancursor1
DEALLOCATE mancursor1
 
关闭并释放游标//////////////////
USE 销售管理系统
GO
DECLARE mycursor CURSOR FOR
SELECT 客户全称,count(*) as 销售记录数,sum(数量)as 销售数量 from 销售表 WHERE 数量 >100 Group BY 客户全称
OPEN mycursor
FETCH NEXT from mycursor
WHILE @@FETCH_STATUS = 0   -- 判断是否还有须要读取的记录
BEGIN
   FETCH NEXT from mycursor     --读取记录到游标
END
CLOSE mycursor
DEALLOCATE mycurso


相关文档:

SQL Server 2005中的文件和文件组

1、文件和文件组的含义与关系
    每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。 文件组可以包括分布在多个逻辑分区的文件,实现负载平衡。文件组允许对文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf&nb ......

大数据量下快速获取 SQL Server 数据库表记录数的方法

在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会非常耗时。在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时 ......

在SQL Server启动时自动执行存储过程

问题
  当sql server启动时,我很想运行一个存储过程。有没有一种方法可以在每次SQL Server服务启动时都会自动执行这个存储过程呢?
  专家解答
  sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行。这是一个很不错的选择,它可以用于多种 ......

EXCEL数据导入SQL 的另类用法

做开发过程中,经常会用到将Excel中数据导出到SQL Server中的情况,你可以利用SQL SERVER 中自带的导入数据的方式,但这种方式,有时会发现数据导入后,可能为空,可能开头少个零,此种情况多出现于数值型的列,今天在CSDN上闲逛,偶尔发现了一个帖子,介绍的以下这种方法,本人恰七因最近公司准备上市,审计局在做审计,技 ......

SQL 数据库之一

1.      SELECT
实例105
SELECT ID "编号",Name 姓名,
       Math_Score '数学成绩',  //怎么有的有AS,有的没有
       Music_Score AS 音乐成绩,
       English_Score AS 英文成绩
f ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号