一個簡單的游標
DROP PROCEDURE test_proc; CREATE PROCEDURE test_proc AS DECLARE @u_id INT ; DECLARE @u_name VARCHAR (255) ; DECLARE @age INT ; --聲明游標 --select中的參數,必須要和游標取出來的變量名相同 DECLARE mycursor CURSOR FOR SELECT u_id,u_name,age FROM u_us ; --打開游標 OPEN mycursor ; --從游標中取出數據,賦值到剛才定義的3個變量中 FETCH NEXT FROM mycursor INTO @u_id ,@u_name ,@age ; --判斷游標的狀態 --0 fetch語句成功 --1 fetch語句失敗或者此行不在結果集中 --2 提取的行不存在 WHILE (@@fetch_status = 0) BEGIN
--print控制輸出時,一定要轉成相同的類型 PRINT('編號:'+convert(varchar(11),@u_id)+', 姓名:'+@u_name+', 年齡:'+convert(varchar(11),@age)); FETCH NEXT FROM mycursor INTO @u_id ,@u_name ,@age ; END ; --關閉游標 CLOSE mycursor ; --釋放游標 DEALLOCATE mycursor ;
......此處略去N個字......
--print控制輸出時,一定要轉成相同的類型 PRINT('編號:'+convert(varchar(11),@u_id)+', 姓名:'+@u_name+', 年齡:'+convert(varchar(11),@age));