网络编程
位置:首页>> 网络编程>> 数据库>> SQL游标原理和使用方法(4)

SQL游标原理和使用方法(4)

 来源:模板天下 发布时间:2008-12-22 10:50:00 

标签:游标,sql,原理,方法

游标的类型

同其它变量一样,我们也可以定义游标的访问类型:全局、共享、实例或局部,游标变量的命名规范建议也同其它变量一样。

--声明游标

declare my_cursor cursor keyset for select * from info

--删除游标资源


deallocate my_cursor

--打开游标,在游标关闭或删除前都有效


open my_cursor

--关闭游标


close my_cursor

--声明局部变量


declare @id int,@name varchar(20),@address varchar(20)

--定位到指定位置的记录


fetch absolute 56488 from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

--定位到当前记录相对位置记录


fetch relative -88 from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

--定位到当前记录前一条

fetch prior from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

--定位到当前记录后一条


fetch next from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

--定位到首记录

fetch first from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

--定位到尾记录


fetch last from my_cursor into @id,@name,@address
select @id as id,@name as name,@address as address

实例:


use database1
declare my_cursor cursor scroll dynamic
/**//*scroll表示可随意移动游标指 针(否则只能向前),dynamic表示可以读写游标(否则游标只读)*/
for
select productname from product
open my_cursor
declare @pname sysname
fetch next from my_cursor into @pname
while(@@fetch_status=0)
begin
print 'Product Name: ' + @pname
fetch next from my_cursor into @pname
end
fetch first from my_cursor into @pname
print @pname
/**//*update product set productname='zzg' where current of my_cursor */
/**//*delete from product where current of my_cursor */
close my_cursor
deallocate my_cursor

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com