数据结构都是一样的,就是内容不同,想利用完了清空再次读取数据用,可行么?
Declare Timecur cursor for select bianhao from #noticetime
--省略正常使用过程
close Timecur
--此处还得用游标,能还使用Timecur吗?如果可以应该怎么写
SQL游标能重复利用吗?
答案:2 悬赏:0 手机版
解决时间 2021-03-02 20:44
- 提问者网友:放下
- 2021-03-01 22:05
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-03-01 23:31
重新定义一下游标。
Declare Timecur cursor for select bianhao from #noticetime
最好换个名字。
Declare Timecur cursor for select bianhao from #noticetime
最好换个名字。
全部回答
- 1楼网友:我住北渡口
- 2021-03-01 23:57
一定要用游标??
以下是游标,供参考:
declare @id int,@address varchar(255)--这里假设你两个字段的字段类型
--定义游标
declare mycursor cursor for
select address
from 表
group by address
having count(*) > 1
--打开游标
open mycursor
--指定游标
fetch next from mycursor into @address
--当存在数据
while @@fetch_status = 0
begin
set @id = 0
--记录每个address,中status=1的最大id进@id
select @id = isnull(max(id),0)
from 表
where address = @address and status = 1
if @id > 0
--如果存在最大id,就删除address = @address 并不等于最大id的,这里假 设id列是唯一不存在重复,如果id不是唯一不重复,以下语句将有问题
delete
from 表
where id <> @id and address = @address
else
--如果重复记录中不存在status=1如何处理?这里没有做任何处理
print '未处理'
fetch next from mycursor into @address
end
--释放游标
close mycursor
deallocate mycursor
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯