Sql Server 2000 中遊標的使用樣本 [ZT]

來源:互聯網
上載者:User
以下是使用遊標的一種最直接的方式:
代碼運行條件:一張Tb_paperInfo(paperID,paperName)表


--聲明一個標識為c的遊標,該遊標是從tb_paperInfo表中查出兩列
declare c cursor for select top 3 paperID,paperName from tb_paperinfo

--開啟遊標c
open c

--聲明兩個變數,作為臨時儲存相應的欄位的值
declare @paperID varchar(20);
declare @paperName varchar(20);

--@@FETCH_STATUS返回遊標的位置,用來標識該遊標是否已達到末尾或是否還在開關
--在未執行Fetch Next From c時,@@Fetch_Status為-1
FETCH NEXT FROM C into @paperID,@paperName  ----注意:此時into 之後的變數的個數對應於select 出來的列的個數,執行完該語句之後@@Fetch_Status傳回值0


declare @i int;
set @i=1;
while @@FETCH_STATUS=0
    begin
        /**//*在此處,你可以通過使用@paperID和@paperName變數來做你想要的事*/
        print '第'  + cast(@i as  varchar(20)) +  ' 條記錄的paperID:' +  @paperID
        print '第'  + cast(@i as  varchar(20)) +  ' 條記錄的paperName:' +  @paperName
        
        --通過fetch next from 語句取出下一條記錄
        fetch next from c into @paperID,@paperName
        set @i=@i+1;
    end

--關閉遊標,若想再用它,還可以用open的方法再一次開啟它(要在釋放之前開啟)
close c

--釋放遊標
deallocate c
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.