MSDE FunClub | 最終更新日 : 2000/08/22 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) | ||
【第12章138p 〜 140p掲載】 |
-- [SQL12_05.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- 参照整合性のあるテーブルを作成します -- SQL12_02プログラムと同じですがアプリケーションロール -- を適用します -- -- カレントデータベースを MySampleTest にする USE MySampleTest GO -- (件処理されました)のメッセージを抑止する SET NOCOUNT ON GO -- ***************************************** -- 私は user01 または user02 ユーザですか? -- ***************************************** DECLARE @user_nm varchar(20) SELECT @user_nm = USER_NAME() -- データベースユーザ名 IF (@user_nm <> 'user01') AND (@user_nm <> 'user02') BEGIN RAISERROR('あなたは ''%s'' ユーザです。user01 02で実行してください', 16 , 127 , @user_nm ) RETURN END PRINT 'アプリケーションロールを実行する前です' PRINT '私のユーザ名 = ' + @user_nm GO -- ***************************************** -- アプリケーションロールの適用を行なう -- ***************************************** sp_setapprole @rolename = 'DRIDenyAPP' , @password = 'HIRAKEGOMA' GO PRINT '' PRINT 'アプリケーションロールを実行した後です' PRINT '私のユーザ名 = ' + USER_NAME() GO -- ********************************** -- テーブルを新規に作成します -- ********************************** IF( (object_id('DRITest') IS NOT NULL ) AND OBJECTPROPERTY( object_id('DRITest'),'ISTABLE') = 1 ) BEGIN -- 存在しているテーブルを削除する DROP TABLE DRITest END GO -- dboユーザの作成したテーブルに対して、参照整合性の -- 宣言できるか? CREATE TABLE DRITest ( ID2 INT CONSTRAINT PK_DRITest Primary Key , ID INT , -- 外部キーとして宣言を行いたい DAT CHAR(10) , -- 参照整合性の宣言を行なう CONSTRAINT FK_DRITest FOREIGN KEY( ID ) REFERENCES dbo.DRIGrantCheck ( ID ) ) GO PRINT '終了しました' GO