Sqlserver 遊標的寫法記錄

---遊標更新刪除當前數據
---1.聲明遊標
declare orderNum_03_cursor cursor scroll
for select OrderId ,userId from bigorder where orderNum='ZEORD003402'
--2.打開遊標
open orderNum_03_cursor
--3.聲明遊標提取數據所要存放的變量
declare @OrderId int ,@userId varchar(15)
--4.定位遊標到哪一行
fetch First from orderNum_03_cursor into @OrderId,@userId  --into的變量數量必須與遊標查詢結果集的列數相同
while @@fetch_status=0  --提取成功,進行下一條數據的提取操做 
 begin
   if @OrderId=122182
     begin
     Update bigorder Set UserId='123' Where Current of  orderNum_03_cursor  --修改當前行
     end
   if @OrderId=154074
      begin
      Delete bigorder Where Current of  orderNum_03_cursor  --刪除當前行
      end
   fetch next from orderNum_03_cursor into @OrderId ,@userId  --移動遊標
 end  
 --關閉遊標
close orderNum_03_cursor
--釋放
DEALLOCATE orderNum_03_cursor
相關文章
相關標籤/搜索