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

-- [SQL04_07.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、ストアドプロシージャのRETURN命令の使い方
-- を勉強します。
-- AccessのNorthwindデータベースの[社員]テーブルをSQLServer
-- へエクスポートしてください
--

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

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


-- ***************
--   既存の削除
-- ***************
    IF EXISTS (SELECT name FROM sysobjects
                   WHERE name = '社員検索' AND type = 'P ')  
      BEGIN
           DROP PROC  社員検索
      END

    IF EXISTS (SELECT name FROM sysobjects
                  WHERE name = '件数表示' AND type = 'P ')  
      BEGIN
          DROP PROC  件数表示
      END
GO

-- ******************
--   社員検索の登録
-- ******************
    CREATE PROCEDURE 社員検索
                   @IdStart  int = 0 ,
                   @IdEnd    int = 999 ,
                   @Mode     int = 0
  AS
    DECLARE @Count int
    IF( @Mode = 1 )  --  1の時は検索結果の結果セットを返します
      BEGIN
        select
               社員.社員コード,
               CAST(社員.フリガナ AS char(20)) AS フリガナ ,
               CAST(社員.氏名 AS char(20)) AS 氏名
        from 社員
        where 社員.社員コード Between @IdStart AND  @IdEnd
        RETURN 0
      END
    ELSE            -- それ以外は、検索結果のレコード数を返す
      BEGIN
        SELECT @Count = ( select count(社員.社員コード)
                          from 社員
                          where 社員.社員コード Between @IdStart AND  @IdEnd )
        RETURN @Count
      END
GO

-- ******************
--   件数表示の登録
-- ******************
    CREATE PROCEDURE 件数表示
                   @info_Param varchar(80) = '' , 
                   @Cnt_Param  int = 0
  AS
    IF( @Cnt_Param <> 0 )
        BEGIN
            PRINT @info_Param + LTRIM(STR(@Cnt_Param)) + '件でした'
        END
    RETURN
GO

-- ******************
--   プログラム開始
-- ******************
    DECLARE @RetValue  int
    EXEC @RetValue = 社員検索    -- デフォルト検索時のレコード件数を取得
    EXEC 社員検索  @Mode = 1     -- 検索の実行(リストが表示されます)
    EXEC 件数表示  'デフォルトレコード検索件数:' , @RetValue

    EXEC  @RetValue = 社員検索  @IdStart=200 , @IdEnd=299
    EXEC 社員検索   @Mode = 1 , @IdStart=200 , @IdEnd=299
    EXEC 件数表示  '200 から 299 までのレコード検索件数:' , @RetValue
GO




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

ウィンドウを閉じる


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


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