1. 程式人生 > >sqlserver遊標使用

sqlserver遊標使用


CREATE PROCEDURE PK_Test
AS
 --宣告2個變數
 declare @O_ID nvarchar(20) 
 declare @A_Salary float 
 --宣告一個遊標mycursor,select語句中引數的個數必須要和從遊標取出的變數名相同
 declare mycursor cursor for select O_ID,A_Salary from AddSalary 
 --開啟遊標
 open mycursor 
 --從遊標裡取出資料賦值到我們剛才宣告的2個變數中
 fetch next from mycursor into @O_ID,@A_Salary 
 --判斷遊標的狀態
 -- 0 fetch語句成功   
 ---1 fetch語句失敗或此行不在結果集中   
 ---2 被提取的行不存在
 while (@@fetch_status=0)
 begin 
 --顯示出我們每次用遊標取出的值
    print '遊標成功取出一條資料'
    print @O_ID
    print @A_Salary 
 --用遊標去取下一條記錄
    fetch next from mycursor into @O_ID,@A_Salary
 end
 --關閉遊標
 close mycursor
 --撤銷遊標
 DEALLOCATE mycursor
GO