MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/08/18
Microsoft Data Engine FunClub
Since 2000.08.18
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻)
【第7章420p 〜 421p掲載】

-- [SQL07_05.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、動的カーソルを使った
--                       FETCH NEXT 
-- の実行例です
-- 動的カーソルではレコード数に変化があります
--

-- カレントデータベースを MySampleTest にする
    USE MySampleTest
GO

-- (件処理されました)のメッセージを抑止する
    SET NOCOUNT ON
GO

    -- 作業用変数の定義
    DECLARE @cnt int
    DECLARE @社員コード int
    DECLARE @氏名 varchar(40)
    SET @cnt = 0

    -- 動的なローカルカーソルを定義します
    -- 動的カーソルは、結果セット内の行数に変化が起こります
    DECLARE My_cur CURSOR  LOCAL SCROLL DYNAMIC
    FOR SELECT 社員コード,氏名 FROM MySampleTest..社員 
        ORDER BY 社員コード

    -- ローカルカーソルを開く
    OPEN My_cur

    -- 先頭レコードの取得に成功ですか?
    FETCH NEXT FROM My_cur INTO  @社員コード,@氏名

    -- @@FETCH_STATUS外部変数が=0の間は、レコード取得に成功 
    WHILE( @@FETCH_STATUS = 0 )
      BEGIN
             -- 取得したレコード数を数えます
             SET @cnt = @cnt + 1

             -- その内容を出力します
             PRINT CAST( @cnt as char(2) ) + ':' +
                   CAST( @社員コード as char(4) ) + @氏名

             -- 次のレコードを取得する
             FETCH NEXT FROM My_cur INTO  @社員コード,@氏名
      END

    PRINT '結果セット内の表示したレコード総数 = ' + CAST( @cnt as varchar )

    -- カーソルを閉じる
    CLOSE My_cur

    -- 参照関係を解除する
    DEALLOCATE My_cur
GO




技術評論社の書籍ガイドへ
上巻:ISBN4-7741-0965-7

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません