MSDE FunClub | 最終更新日 : 2000/08/11 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻) | ||
【第5章331p 〜 332p掲載】 |
-- [SQL05_07.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- 社員VIEW表の操作を行います。myguestユーザは全ての権限があります -- -- ( 件処理されました)のメッセージの表示を抑止する SET NOCOUNT ON GO -- カレントデータベースを定義する USE MySampleTest GO -- ****************** -- ログイン名の調査 -- ****************** IF( SUSER_NAME() <> 'myguest' ) BEGIN PRINT 'あなた様のログイン名は ' + SUSER_NAME() + ' です' PRINT 'myguestログインでログインをやり直してください' RAISERROR('中止します',16,127) RETURN END -- ****************************** -- 社員VIEW表に対する操作を行う -- 全てが権限許可されます -- ****************************** DECLARE @MaxNo int SELECT @MaxNo = MAX(社員コード) FROM 社員VIEW SELECT 社員コード , LEFT(フリガナ,10) AS フリガナ , LEFT(氏名,10) AS 氏名 FROM 社員VIEW --挿入前にエラーの防止上、削除します IF EXISTS( SELECT * FROM 社員VIEW WHERE 社員コード = 151 ) BEGIN DELETE FROM 社員VIEW WHERE 社員コード = 151 END INSERT INTO 社員VIEW(社員コード,フリガナ,氏名) VALUES( 151 , 'ヤマダ タロウ' , '山田 太郎' ) --(注)半角カナです IF( @@ERROR = 0 ) SELECT 社員コード , LEFT(フリガナ,10) AS フリガナ , LEFT(氏名,10) AS 氏名 FROM 社員VIEW WHERE 社員コード = 151 UPDATE 社員VIEW SET フリガナ = NULL WHERE 社員コード = @MaxNo IF( @@ERROR = 0 ) SELECT 社員コード , LEFT(フリガナ,10) AS フリガナ , LEFT(氏名,10) AS 氏名 FROM 社員VIEW WHERE 社員コード = @MaxNo DELETE FROM 社員VIEW WHERE 社員コード = @MaxNo IF( @@ERROR = 0 ) BEGIN IF NOT EXISTS( SELECT * FROM 社員VIEW WHERE 社員コード = @MaxNo ) PRINT '社員コード = ' + CAST(@MaxNo AS varchar) + ' を削除しました' END GO