SQL中的迴圈 for迴圈 游標

2021-08-21 03:30:24 字數 1399 閱讀 9144

--sql中的迴圈、for迴圈、游標

--1. 利用游標迴圈更新、刪除memberaccount表中的資料

declare my_cursor cursor --定義游標

for (select * from dbo.memberaccount) --查出需要的集合放到游標中

open my_cursor;

--開啟游標

fetch next from my_cursor ; --讀取第一行資料

while @@fetch_status = 0

begin

--update dbo.memberaccount set username = username + 'a'

where

current

of my_cursor;

--更新

--delete from dbo.memberaccount where current of my_cursor; --刪除

fetch next from my_cursor; --讀取下一行資料

endclose my_cursor;

--關閉游標

deallocate my_cursor; --釋放游標

go--2. 利用游標迴圈更新memberservice表中的資料(更新每個使用者所購買服務的時間)

declare @userid varchar(50),@username varchar(50)

declare my_cursor cursor --定義游標

for (select userid from dbo.memberaccount) --查出需要的集合放到游標中

open my_cursor;

--開啟游標

fetch next from my_cursor into @userid,@username; --讀取第一行資料(將memberaccount表中的userid放到@userid變數中)

while @@fetch_status = 0

begin

print @userid;

--列印資料(列印memberaccount表中的userid)

update dbo.memberservice set servicetime = dateadd(month, 6, getdate()) where userid = @userid;

--更新資料

fetch next from my_cursor into @userid,@username; --讀取下一行資料(將memberaccount表中的userid放到@userid變數中)

endclose my_cursor;

--關閉游標

deallocate my_cursor; --釋放游標

sql 迴圈,游標

declare userid varchar 50 declare my cursor cursor 定義游標 for select userid from dbo.memberaccount 查出需要的集合放到游標中 open my cursor 開啟游標 fetch next from my c...

sql游標迴圈

declare begindate datetime convert datetime,2019.05.06 09 40 50 enddate datetime getdate idint declare my cursor cursor 定義游標 for select id from dbo.op...

SQL游標迴圈

begin 定義的這些變數就是以下查出的結果的字段數,一一對應 declare cid int,cno nvarchar 64 cname nvarchar 256 debtamount decimal begin 定義游標.declare vernier main cursor fast forw...