SQL2005 - 建立資料表(Create Table)說明

參考網址:連結




-- 是否允許用雙引號(")來表示物件名稱(允許用保留字),現在都用[]來使用,"不是很必須了
SET QUOTED_IDENTIFIER ON
GO
-- 建立dbo.emp_reference 資料表
CREATE TABLE [dbo].[emp_reference](
    [emp_id] [varchar](10) NOT NULL,
    [emp_name] [varchar](20) NOT NULL,
    [dept_no] [varchar](10) NOT NULL,
    [email] [varchar](20) NULL,
    [is_active] [varchar](1) NULL,
    [uog] [varchar](50) NULL,
    [sdept_no] [varchar](10) NULL,
    [ext] [varchar](20) NULL

-- CONSTRAINT
--   這是一個選擇性的關鍵字,用來指示開始定義下列條件約束:
--   1. PRIMARY KEY - 指出哪個資料行或資料行集合的值可以唯一識別資料表中的資料列
--   2. NOT NULL - 指定column不允許null
--   3. UNIQUE - 強制一組資料行中數值的唯一性
--   4. FOREIGN KEY - 識別和強制資料表之間的關係,可以設定刪除時連動關係
--   5. CHECK - 檢查搜尋條件成立才允許儲存, EX: CONSTRAINT CHK_EMP_ID CHECK (EMP_ID BETWEEN '000000' and '999999')
-- CLUSTERED/NONCLUSTERED
--   指出針對PRIMARY KEY UNIQUE 條件約束建立叢集或非叢集索引。
--   PRIMARY KEY 條件約束預設為CLUSTEREDUNIQUE 條件約束預設為NONCLUSTERED
--   CREATE TABLE 陳述式中,您只能將CLUSTERED 指定給單一條件約束。
--   如果UNIQUE 條件約束指定了CLUSTERED,且也指定了PRIMARY KEY 條件約束,PRIMARY KEY 便預設為NONCLUSTERED

    CONSTRAINT [PK_EMP_REFERENCE] PRIMARY KEY CLUSTERED (
       [emp_id] ASC
    )
    WITH (
       IGNORE_DUP_KEY = OFF
    )
    ON [PRIMARY],
    CONSTRAINT [IX_EMP_REFERENCE] UNIQUE NONCLUSTERED (
       [email] ASC
    )
    WITH (
       IGNORE_DUP_KEY = OFF
    )
    ON [PRIMARY]
)
ON [PRIMARY]

沒有留言:

橫式廣告