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

oracle游标

Posted on 2011-09-16 14:15  爱.辉.舞  阅读(181)  评论(0)    收藏  举报

在sql中.  当操作某一结果集时,游标为我们提供了一种极为优秀的解决方案。

例:

create table membersell
(
memberid int,
price int,
membername varchar(30)
)

insert into membersell values(1,10,'chenfeile')
insert into membersell values(2,11,'gavin')

/////////////////////**

**//
create table memberinfo
(
memberid int,
price int
)
insert into memberinfo values(1,5);
insert into memberinfo values(2,4)


select * from membersell
select * from memberinfo

 


declare my_cursor cursor scroll dynamic
/**scroll表示可随意移动游标指   **/

for
select price,memberid from  membersell

open my_cursor
declare @price sysname
declare @memberid sysname

fetch next from my_cursor into @price,@memberid
while(@@fetch_status=0)
  begin
   -- print 'price: ' + @price
--    print 'memberid: ' + @memberid

update memberinfo set price=@pname where memberid= @memberid

--update
    fetch next from my_cursor into @price, @memberid
  end
fetch first from my_cursor into @price, @memberid
close my_cursor
deallocate my_cursor