/*
查找交换机编号和端口号重复的用户记录:
首先在查询时创建临时表,加入一组记录.
以后(临时表已存在)进行表间对拷
*/
declare @cid int
declare @cport int
--得到表中交换机id和端口号一样的记录.
declare cur_e scroll cursor for
select catalyst_id,catalyst_port from userinfo where catalyst_port>0 group by catalyst_id,catalyst_port having count(*)>1
--打开此游标
open cur_e
print '共有记录数'+convert(char(10),@@cursor_rows)
--以下为循环游标的记录集(游标记录集含2个字段,分别放入局部变量中)
fetch first from cur_e into @cid,@cport
while(@@fetch_status=0)
begin
if object_id('tempdb..#t1') is not null
--临时表已存在
--以后(临时表已存在)表间对拷==>加入一批数据
insert into #t1(username,catalyst_port,label) select userinfo.username,userinfo.catalyst_port,catalyst.label from userinfo,catalyst
where userinfo.catalyst_id=catalyst.id and userinfo.catalyst_id=@cid and userinfo.catalyst_port=@cport
else
--临时表不存在则在查询时创建临时表
select userinfo.username,userinfo.catalyst_port,catalyst.label into #t1 from userinfo,catalyst
where userinfo.catalyst_id=catalyst.id and userinfo.catalyst_id=@cid and userinfo.catalyst_port=@cport
fetch next from cur_e into @cid,@cport
end
close cur_e
deallocate cur_e
select * from #t1

浙公网安备 33010602011771号