T-SQL 游标

游标
关系数据库中的操作会对整个行集产生影响。由 SELECT 语句返回的行集包括所有满足该语句 WHERE 子句中条件的行。由语句所返回的这一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结果集扩展。

示例:

代码
declare @DocID char(32)
declare @UserRights varchar(8000)

declare mycursor cursor --定义游标变量
for select DocID,UserRights from dbo.DocIndex_SMCCOA06--从数据表中取出需要的数据集
open mycursor--打开游标
fetch next from mycursor into @DocID,@UserRights--读取游标数据
WHILE ( @@FETCH_STATUS = 0 ) 
begin
    
INSERT INTO [dbo].[DocIndex_Rights]
           (
[UserID]
           ,
[DocID])
    
select short_str,@DocID from  dbo.split(@UserRights,'|')
    
fetch next from mycursor into @DocID,@UserRights
end
close mycursor--关闭游标
DEALLOCATE mycursor--销毁游标 
go

 

 

 

posted @ 2010-12-16 17:27  未来  阅读(227)  评论(0)    收藏  举报