Download presentation
Presentation is loading. Please wait.
1
“Rule” By OX
2
By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資 <= 50000) )
3
Multiple check option CREATE TABLE 經銷商 ( 編號 int IDENTITY PRIMARY KEY, 姓名 char(20) NOT NULL, 地址 char(50), 電話 char(13), CHECK ( 地址 IS NOT NULL OR 電話 IS NOT NULL) )
4
獨立儲存的物件 必須與資料表的欄位繫結才能發揮作用
5
「規則」的優點 同一個規則物件可以供給不同的資料表的 不同欄位使用 同一個欄位最多只能和一個規則物件繫結 規則物件還可以與使用者自訂資料類型別 物件結合,讓該型別具備資料查核功能
6
CHECK 的優點 每個資料表有多個 CHECK 條件 約束 可以針對所屬資料表中的多個欄位做查核 設定 =>RULE 只是 SQL SERVER 2005 為 先前版本而保留
7
Build Rule object 1. 建立規則物件 2. 與指定的欄位繫結 (Bind) 3. 若原本欄位有預設值,其值必須在規則物 件的限制範圍內,否則會錯誤 !
8
Create rule 語法 : CREATE RULE rule_name AS condition_expression
9
限定數值範圍: CREATE RULE Price_rule AS @price >= 1 AND @price <= 50000 限定字串的範圍、格式: CREATE RULE charset_rule AS @charset LIKE 'F0[1-9][1-9]-[A-E]_‘
10
限定只能使用指定的值 CREATE RULE Gender_rule AS @gender IN (' 男 ', ' 女 ') 限定時間的範圍 CREATE RULE payday_rule AS @payday >= getdate() 付款日必須不晚於記錄建立的日期
11
使用內建程序 EXEC sp_bindrule rule_name, “table_name.column_name” 繫結規則 EXEC sp_bindrule Gender_rule, ' 員工. 性別 ' 解除規則 EXEC sp_unbindrule ' 員工. 性別 '
12
刪除規則物件 物件存放路徑 : 資料庫 => 可程式性 => 規則 DROP RULE rule_name [,…n] DROP RULE Price_rule, Gender_rule
13
預設物件 - Default 資料表中的 Default 可以指定欄位的預設值 此處的預設值物件則是給預設值一個名稱 EX: 用 rate 來表示比率值 0.9 ,然後將之存成 物件,任何資料表欄位都可以與 rate 結合
14
預設物件 - Default CREATE DEFAULT 性別 _df AS ' 男 ' CREATE DEFAULT 地點 _df AS ' 台灣 '
15
繫結與解除關係 繫結 EXEC sp_bindefault 性別 _df, ' 員工. 性別 ' 解除 EXEC sp_unbindefault ' 員工. 性別 '
16
刪除物件 DROP DEFAULT default_name [,…n] EX: DROP DEFAULT 地點 _df
17
使用者自訂資料類型 (UDTs) User-defined Data Types 為了方便與一致性,可先自訂一資料類型, 以利之後使用 透過 SQL 本身的資料類型來建立,而非自己 產生新的資料型態
18
使用預存程序 sp_addtype 建立 EXEC sp_addtype type_name system_data_type,’null_type’ EXEC sp_addtype Phone, 'char(12)', 'NOT NULL' EXEC sp_addtype PayDay, datetime, 'NULL'
19
刪除使用者自定資料類型 EXEC sp_droptype type_name EX: EXEC sp_droptype Phone EXEC sp_droptype PayDay
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.