declare @tb table(id int,name varchar(50))
--添加測試數據
insert into @tb
select 6,'aa' union all
select 7,'bb' union all
select 8,'cc' union all
select 9,'dd' union all
select 10,'abc' union all
select 11,'ddef' union all
select 12,'fda' union all
select 13,'rewr' union all
select 14,'eyt' union all
select 15,'jjy' union all
select 16,'bbbxd' union all
select 17,'xxx' union all
select 18,'ffff' union all
select 19,'wwwwwwww' union all
select 20,'aaaaaaaaaa'
/*
查看錶中數據
select * from @tb
*/
--聲明循環用的“指針”
declare @min varchar(5)
--賦初值
select @min=min(id) from @tb
--開始循環
while @min is not null
begin
print @min --打印當前“指針”的值
select @min=min(id) from @tb where id>@min --更新“指針”內容,使之移到下一記錄
end
----------------------------------------------------------------------------------------------
declare @temp table
(
[id] int IDENTITY(1,1),
[Name] varchar(10)
)
declare @tempId int,@tempName varchar(10)
insert into @temp values('a')
insert into @temp values('b')
insert into @temp values('c')
insert into @temp values('d')
insert into @temp values('e')
--select * from @temp
WHILE EXISTS(select [id] from @temp)
begin
SET ROWCOUNT 1
select @tempId = [id],@tempName=[Name] from @temp
SET ROWCOUNT 0
delete from @temp where [id] = @tempId
print 'Name:----'+@tempName
end
---
--定義表變量
DECLARE @temp TABLE
(
[id] INT IDENTITY(1, 1) ,
[Name] VARCHAR(10)
)
DECLARE @tempId INT ,
@tempName VARCHAR(10)
DECLARE test_Cursor CURSOR LOCAL FOR
SELECT [id],[name] FROM @temp
--插入數據值
INSERT INTO @temp
VALUES ( 'a' )
INSERT INTO @temp
VALUES ( 'b' )
INSERT INTO @temp
VALUES ( 'c' )
INSERT INTO @temp
VALUES ( 'd' )
INSERT INTO @temp
VALUES ( 'e' )
--打開遊標
OPEN test_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM test_Cursor INTO @tempId,@tempname
PRINT 'Name:----' + @tempName
END
CLOSE test_Cursor
DEALLOCATE test_Cursor