MSDE FunClub | 最終更新日 : 2000/07/22 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻) | ||
【第2章185p 〜 187p掲載】 |
-- [DDL系SQL文の基礎(例題9)EX3-08.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- 指定されたファイルグループにテーブルを記憶させます -- EX3-05.SQL であらかじめデータベースを作成してください -- これから操作する既定のデータベースを MyTestDB にします USE MyTestDB GO -- ( 件処理されました)のメッセージの表示を抑止します SET NOCOUNT ON GO -- 既存の社員表と商品表を削除します IF EXISTS (SELECT name FROM sysobjects WHERE name = '社員' AND type = 'U ' ) BEGIN DROP TABLE 社員 END IF EXISTS (SELECT name FROM sysobjects WHERE name = '商品' AND type = 'U ' ) BEGIN DROP TABLE 商品 END GO -- ************************************************ -- [社員]テーブルをプライマリファイルグループに作成 -- ************************************************ CREATE TABLE 社員 ( 社員コード int NOT NULL CONSTRAINT PK_社員表 PRIMARY KEY , フリガナ varchar(80) CHECK( フリガナ <> '' ) , 氏名 varchar(40) NOT NULL CHECK( 氏名 <> '' ) , 在籍支社 varchar(20) CHECK( 在籍支社 <> '' ) , 部署名 varchar(30) CHECK( 部署名 <> '' ) , 誕生日 datetime CHECK( 誕生日 < GETDATE() ) , 入社日 datetime , 自宅郵便番号 varchar(10) CHECK( 自宅郵便番号 <> '' ) , 自宅都道府県 varchar(40) CHECK( 自宅都道府県 <> '' ) , 自宅住所1 varchar(60) CHECK( 自宅住所1 <> '' ) , 自宅住所2 varchar(60) CHECK( 自宅住所2 <> '' ) , 自宅電話番号 varchar(24) CHECK( 自宅電話番号 <> '' ) , 内線 varchar(4) CHECK( 内線 <> '' ) , 写真 image , プロフィール text ) ON [PRIMARY] -- テーブル一般の記憶場所 TEXTIMAGE_ON [PRIMARY] -- text,ntext,image型の記憶場所 -- PRIMARY と言う単語はシステム予約語なので、[]で囲むこと -- 検索用インデックスの記憶場所も定義できます CREATE INDEX IDX_氏名 ON 社員( 氏名 ) ON [PRIMARY] CREATE INDEX IDX_自宅郵便番号 ON 社員( 自宅郵便番号 ) ON [PRIMARY] CREATE INDEX IDX_自宅電話番号 ON 社員( 自宅電話番号 ) ON [PRIMARY] PRINT '[社員]テーブルを作成しました' GO -- ************************************************ -- [商品]テーブルを GROUP2 ファイルグループに作成 -- ************************************************ CREATE TABLE 商品 ( 商品コード int NOT NULL CONSTRAINT PK_商品 PRIMARY KEY , フリガナ varchar(80) CHECK( フリガナ<> ''), 商品名 varchar(40) NOT NULL , 仕入先コード int , 区分コード int , 梱包単位 varchar(20) CHECK( 梱包単位<> ''), 単価 money DEFAULT 0 CHECK( 単価 >= 0 ), 在庫 smallint DEFAULT 0 CHECK( 在庫 >= 0 ), 発注済 smallint DEFAULT 0 CHECK( 発注済 >= 0 ), 発注点 smallint DEFAULT 0 CHECK( 発注点 >= 0 ), 生産中止 bit DEFAULT 0 , ) ON GROUP2 -- テーブル一般の記憶場所 -- [重複あり]インデックスの作成(ファイルグループ GROUP2 ) CREATE INDEX IDX_商品名 ON 商品( 商品名 ) ON GROUP2 CREATE INDEX IDX_仕入先コード ON 商品( 仕入先コード ) ON GROUP2 CREATE INDEX IDX_区分コード ON 商品( 区分コード ) ON GROUP2 PRINT '[商品]テーブルを作成しました' GO