drop table #a
create table #a (
[iid] [int]IDENTITY (1, 1) NOT NULL ,
[aa] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[a_id] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
)
declare @values char(10)
declare @values1 char(10)
declare @values_b1 char(10)
declare @values_b2 varchar(100)
declare @values_b3 varchar(100)
declare title_cursor1 scroll cursor --定义一个游标
for select * from a --游标的结果数据集
open title_cursor1 --打开已建立好的游标
fetch from title_cursor1 into @values,@values1 --检索游标中的记录1
SET @VALUES_B3=''
SET @VALUES_B2=''
--insert into #a(aa,a_id)values(@values,@values1)
while @@fetch_status=0 --判断FETCH 语句是否成功
begin
-----------------------
DECLARE TITLE_CURSOR2 SCROLL CURSOR --定义一个游标
FOR SELECT BB FROM B WHERE A_IID=@VALUES
OPEN TITLE_CURSOR2
FETCH FROM TITLE_CURSOR2 INTO @VALUES_B1 --检索游标中的记录1
WHILE @@FETCH_STATUS=0
BEGIN
SET @VALUES_B3=@VALUES_B3+@VALUES_B1+@VALUES_B2
FETCH FROM TITLE_CURSOR2 INTO @VALUES_B2
SET @VALUES_B1=''
print @VALUES_B3
END
-----------------
insert into #a(aa,a_id)values(@values1,@VALUES_B3)
fetch from title_cursor1 into @values,@values1 --循环数据集中的所有记录
end
close title_cursor2 --关闭游标
deallocate title_cursor2 --删除游标引用
close title_cursor1 --关闭游标
deallocate title_cursor1 --删除游标引用
go
select * from #a
select * from a
select * from b
【MSSql2000】数据连接
最新推荐文章于 2024-09-16 11:36:19 发布
本文介绍了一种使用SQL游标进行数据检索的方法,并通过示例展示了如何在多个表之间进行数据关联及更新操作。文章重点讲解了游标的声明、打开、检索、关闭等过程,同时涉及到了变量声明及循环处理等内容。
206

被折叠的 条评论
为什么被折叠?



