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

-- [SQL03_04.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
--   RAISERROR命令によるメッセージの表示を学ぶものです
--

-- これから操作する既定のデータベースを MySampleTest にします
    USE MySampleTest
GO

-- ( 件処理されました)の表示を抑制する
    SET NOCOUNT ON
GO

-- 書式付き動的エラーメッセージの作成
    DECLARE @Dat int  , @LEVEL int , @DatStr varchar(20)
    SELECT @Dat    = 10 
    -- エラー重要度を0-10までは、付属メッセージが抑止される
    RAISERROR( '@Dat(%%d)=[%d] [%5d] [%05d]',0,1,@Dat,@Dat,@Dat)
    RAISERROR( '@Dat(%%o)=[%o] [%5o] [%05o]',0,1,@Dat,@Dat,@Dat)
    RAISERROR( '@Dat(%%x)=[%x] [%5x] [%05x]',0,1,@Dat,@Dat,@Dat)
    RAISERROR( 'エラー重要度を0にしました' ,0,1)
    PRINT ''

    SELECT @LEVEL = 0
    WHILE (@LEVEL<=18)
      BEGIN
           RAISERROR( '%2d:重要度で表示しました' ,@LEVEL,1,@LEVEL)
           SELECT @LEVEL = @LEVEL + 1
      END

    -- SQLServerのVERSION表示
    PRINT ''  --改行
    RAISERROR( 'SQLServerのversion = %s' ,0,1,@@VERSION)

    PRINT ''  --改行
    SELECT @DatStr = CONVERT(varchar(20),GETDATE())
    RAISERROR( '現在の時刻 = %s',0,1,@DatStr)
    PRINT ''
GO

-- ***********************************************************
--   【メッセージのシステムテーブルへの登録】
--     (1)英語版に引数順序を定義する
--     (2)日本語版は、%1!,%2!,%3!のように位置を定義する
--     (3)英語版と日本語版の両方のメッセージ登録が必要
--  言語名(@lang)のパラメータは、sp_addmessageの中で呼ばれる
--  sp_validlangのソースを見てください。
--  master..syslanguagesで登録されたnameまたはaliasの値です
-- ***********************************************************

    EXECUTE sp_addmessage 50001 , 16 , N'dummy' , 'us_english' , 'FALSE'
    EXECUTE sp_addmessage 50001 , 16 , N'引数なしのメッセージ' , '日本語' , 'FALSE'

    EXECUTE sp_addmessage 50002 , 16 , N'message = %d '  , 'us_english', 'FALSE'
    EXECUTE sp_addmessage 50002 , 16 , N'引数が1個です =[%1!]' , '日本語', 'FALSE'

    EXECUTE sp_addmessage 50003 , 16 , N'%s = %d '  , 'us_english', 'FALSE'
    EXECUTE sp_addmessage 50003 , 16 , N'引数の値は  [%1!]=[%2!]' , '日本語' , 'FALSE'

    -- 重要度を変えて出力する
    RAISERROR( 50001,0,1)
    RAISERROR( 50002,0,1,1234)
    RAISERROR( 50003,0,1,'DATA' , 3456 )

    -- 登録したメッセージを削除する
    EXECUTE sp_dropmessage 50001 , 'all'
    EXECUTE sp_dropmessage 50002 , 'all'
    EXECUTE sp_dropmessage 50003 , 'all'
GO




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

ウィンドウを閉じる


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


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