sqlserver 游标

CREATE PROCEDURE curs
AS
--声明2个变量
declare @Id int
declare @Name nvarchar(20)   
declare @Psw float
 
--声明一个游标mycursor,select语句中参数的个数必须要和从游标取出的变量名相同
declare mycursor cursor for select * from users
 
--打开游标
open mycursor
 
--从游标里取出数据赋值到我们刚才声明的2个变量中
fetch next from mycursor into @Id,@Name,@Psw
 
--判断游标的状态
--0 fetch语句成功     
--1 fetch语句失败或此行不在结果集中     
--2被提取的行不存在
while (@@fetch_status=0) 
begin 
 
--显示出我们每次用游标取出的值 
	print '游标成功取出一条数据' 
	print @Id
	print @Name
	print @Psw
--将Name = york的用户的密码改为123
	if @Name = 'york'
		update users set psw = '123' where [name]='york'
		
 
--用游标去取下一条记录
   fetch next from mycursor into @Id,@Name,@Psw
end 
--关闭游标
close mycursor 
--撤销游标
deallocate mycursor
GO

  

posted on 2012-01-11 15:28  york_software123  阅读(155)  评论(0编辑  收藏  举报

导航