一. 遊標的使用流程
1. 執行流程
- 聲明一個遊標
DECLARE MyCursor CURSOR
FOR SELECT * FROM TABLE_NAME
- 打開一個遊標
OPEN MyCursor//即打開這個數據集
- 循環一個遊標
DECLARE @id nvarchar(20),@name nvarchar(20)
FETCH NEXT FROM MyCursor INTO @id,@name//移動遊標指向到第一條數據,提取第一條數據存放在變量中
WHILE @@FETCH_STATUS =0//如果上一次操作成功則繼續循環
BEGIN
print ‘name’+@name
FETCH NEXT FROM MyCursor INTO @BookName,@BookCoding//繼續提下一行
END
- 關閉一個遊標
CLOSE MyCursor
- 釋放資源
DEALLOCATE MyCursor
2. 完整測試代碼
create table tb_a
(
id varchar (20),
name varchar (20)
)
insert into tb_a select 1,'jack'
insert into tb_a select 2,'join'
insert into tb_a select 3,'make'
declare mycursor cursor
for select * from tb_a
open mycursor
declare @id varchar(20), @name varchar(20)
fetch next from mycursor into @id, @name
while @@FETCH_STATUS=0
begin
select @id, @name
fetch next from mycursor into @id, @name
end
close mycursor
deallocate mycursor