由于一直编码写程序,很少编写数据库代码,所以游标什么的都不太熟悉。
以下为存储过程中使用游标,实现存储过程中遍历表:
if exists(select 1 from sysobjects where id=object_id('proc_table1') and xtype='p') --判断存储过程是否存在 drop procedure proc_table1 go create procedure proc_table1 as declare @id int declare @name varchar(50) declare cr cursor ---定义游标 for select id,name from table2 open cr --打开游标 fetch next from cr into @id,@name --游标前进一行 while(@@FETCH_STATUS=0) --判断游标执行完毕 begin update table1 set name = @name where table1_id =@id --...-执行一系列操作 end close cr --关闭游标 deallocate cr --删除游标引用