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

-- [DDL系SQL文の基礎(例題7)EX3-06.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
--   AccessのNorthwindデータベースの[社員]テーブル
--   と同じテーブル構造を作成するものです
--

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

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

-- 既存の社員テーブルがあればそれを削除する
    IF EXISTS (SELECT name FROM sysobjects
                  WHERE name = '社員' AND type = 'U ')  
      BEGIN
           DROP TABLE 社員
           PRINT '社員テーブルを削除しました'
      END
GO

-- 新しく社員テーブルを作ります
--   Accessのテーブル設計をコメントで入れましたので、それと比較しましょう
--   値要求[いいえ]とは、NULL値を認めるものです
--   値要求[ はい ]とは、NULL値を禁止するものです(NOT NULL制約)
--   空文字列の許可[いいえ]とは、長さ0の文字列入力を禁止するものです

    CREATE TABLE  社員
    (
      --主キー設定(主キーでは、NULL値は禁止です)
          社員コード    int  NOT  NULL
                             CONSTRAINT PK_社員表 PRIMARY KEY ,  

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          フリガナ      varchar(80)  CHECK( フリガナ < > '' )   ,

      --値要求[はい] 空文字列の許可[いいえ] Index[重複あり]
      --[重複あり]のインデックスは、CREATE INDEXで作成する
          氏名          varchar(40)  NOT NULL  CHECK(  氏名 < > '' )  ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          在籍支社      varchar(20)  CHECK(  在籍支社 < > '' ) ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          部署名        varchar(30)  CHECK(  部署名 < > '' ) ,

      --値要求[いいえ]  Index[いいえ] 入力規則[< Date()]
      --GETDATE()関数は、現在の日付時刻を求めます
          誕生日        datetime     CHECK(  誕生日 <  GETDATE() ) ,

      --値要求[いいえ]  Index[いいえ]
          入社日        datetime      ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[重複あり]
          自宅郵便番号  varchar(10)  CHECK(  自宅郵便番号 < > '' ) ,
 
      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          自宅都道府県  varchar(40)  CHECK(  自宅都道府県 < > '' )   ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          自宅住所1     varchar(60)  CHECK(  自宅住所1  < > '' )  ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          自宅住所2     varchar(60)  CHECK(   自宅住所2 < > '' ) ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[重複あり]
          自宅電話番号  varchar(24)   CHECK(    自宅電話番号 < > '' ) ,

      --値要求[いいえ] 空文字列の許可[いいえ] Index[いいえ]
          内線          varchar(4)    CHECK(    内線 < > '' ) ,

      --値要求[いいえ] 
          写真          image         ,

      --値要求[いいえ] 空文字列の許可[いいえ]
      --残念ながら TEXT型にCHECK制約は作れません
        プロフィール  text    
    )
GO

-- 列に検索用インデックスを付ける
    CREATE INDEX IDX_氏名         ON 社員( 氏名 )
    CREATE INDEX IDX_自宅郵便番号 ON 社員( 自宅郵便番号 )
    CREATE INDEX IDX_自宅電話番号 ON 社員( 自宅電話番号 )
GO

    PRINT '社員テーブルを作成しました'
GO
















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

ウィンドウを閉じる


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


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