chiname

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

/*
查找交换机编号和端口号重复的用户记录:
首先在查询时创建临时表,加入一组记录.
以后(临时表已存在)进行表间对拷
*/
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

posted on 2005-03-17 08:55  把我的欢乐带给你  阅读(432)  评论(0)    收藏  举报