| MSDE FunClub |
|
最終更新日 : 2000/07/22 |
|
Microsoft Data Engine FunClub
|
Since 2000.07.22
|
|
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