游标嵌套使用问题(在线)

lijian910wolf 2007-07-11 01:40:04
在SQL中首先使用一个游标:作用是查询出一些数据,这些数据留待下面游标中的查询语句中作为条件使用。假如用变量@id表示查询到的所有id数据集,
下面我在上面的的游标中
while (@@fetch_status=0)
begin
在这我又创建一个游标,它是用先前的@id作为条件来查询只有一条记录的数据
然后入库
end
本来@id它有好多数据集,这样入库的数据也好多,但现在没有一条数据入库,


...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lr21shiji 2007-07-11
  • 打赏
  • 举报
回复
游标嵌套微软有例子的 你可以研究研究 上面 我没明白什么问题
lijian910wolf 2007-07-11
  • 打赏
  • 举报
回复
代码大致如下:
declare curPass cursor for
select Distinct a.PassTime,a.DoorID,a.Door ,a.EventCH,a.EventID from(select distinct PassTime,DoorID,Door,EventCH,EventID FROM dbo.tblOriginalLog,
dbo.tblDoor,tblEventType where tblOriginalLog.EventType=tblEventType.EventID
and tblDoor.ID=tblOriginalLog.DoorID) a INNER JOIN tblDoor d on a.DoorID=d.ID
--可以取出好多数据
open curPass
fetch next from curPass into @PassTime,@DoorID,@Door,@FileType,@EventID
set @PassTimeStr=''
while (@@fetch_status=0)
begin--24
declare curPass1 cursor for
select a.StaffID,case when a.StaffID>0 then b.Code else a.EnterID end as
StaffCode,a.EnterID,b.Name StaffName,c.Name as OrgName from(select distinct PassTime,DoorID,StaffID,EnterID,Door,EventCH,EventID FROM dbo.tblOriginalLog,dbo.tblDoor,tblEventType where tblOriginalLog.EventType=tblEventType.EventID and tblDoor.ID=tblOriginalLog.DoorID) a left outer join dbo.tblStaff b on
a.StaffID=b.id INNER JOIN tblOrg c on b.OrgID=c.ID INNER JOIN tblDoor d on a.DoorID=d.ID and a.PassTime=@PassTime and a.DoorID=@DoorID and a.EventID=@EventID
open curPass1
fetch next from curPass1 into @StaffID,@StaffCode,@EnterID,@StaffName,@OrgName
while (@@fetch_status=0)
begin
insert into @temp values(@PassTime,@DoorID,@StaffID,@Door,@StaffCode,@EnterID,@StaffName,@OrgName,@FileType,@EventID)
fetch next from curPass1 into @StaffID,@StaffCode,@EnterID,@StaffName,@OrgName
end
close curPass1
deallocate curPass1
end
close curPass
deallocate curPass
SassyBoy 2007-07-11
  • 打赏
  • 举报
回复
不太明白,估计没有写fecth next cursor_name into @id 之类。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧