易截截图软件、单文件、免安装、纯绿色、仅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 数据库表记录数的方法

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

动态sql语句基本语法

1 :普通SQL语句可以用Exec执行
      例:      Select * from tableName
                Exec('select * from tableName')
        & ......

SQL Server导出EXCEL的存储过程

--sql语句就用下面的存储过程
/*--数据导出Excel
导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件
,如果文件不存在,将自动创建文件
,如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
--邹建 2003.10--*/
/*--调用示例
p_exporttb @sqlstr='select * from 地区资料'
,@path='c:\',@fn ......

EXCEL数据导入SQL 的另类用法

做开发过程中,经常会用到将Excel中数据导出到SQL Server中的情况,你可以利用SQL SERVER 中自带的导入数据的方式,但这种方式,有时会发现数据导入后,可能为空,可能开头少个零,此种情况多出现于数值型的列,今天在CSDN上闲逛,偶尔发现了一个帖子,介绍的以下这种方法,本人恰七因最近公司准备上市,审计局在做审计,技 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号