規則(Rule) 就是數據庫中對存儲在表的列或用戶自定義數據類型中的值的規定和限制。規則是單獨存儲的獨立的數據庫對象。規則與其作用的表或用戶自定義數據類型是相互獨立的,即表或用戶自定義對象的刪除、修改不會對與之相連的規則產生影響。規則和約束可以同時使用,表的列可以有一個規則及多個CHECK 約束。規則與CHECK 約束很相似,相比之下,使用在ALTERTABLE 或CREATE TABLE 命令中的CHECK 約束是更標准的限制列值的方法,但CHECK 約束不能直接作用於用戶自定義數據類型。
9.2.1 創建規則
(1) 用CREATE RULE 命令創建規則
CREATE RULE 命令用於在當前數據庫中創建規則,其語法如下:
CREATE RULE rule_name AS condition_expression
其中condition_expression 子句是規則的定義。condition_expression 子句可以是能用於WHERE 條件子句中的任何表達式,它可以包含算術運算符、關系運算符和謂詞(如IN、LIKE、 BETWEEN 等)。
注意:condition_expression子句中的表達式必須以字符“@”開頭。
(2) 用Enterprise Manager 創建規則
在Enterprise Manager 中選擇數據庫對象“Rules”,單擊右鍵從快捷菜單中選擇“NewRule”選項,即會彈出如圖9-1 所示的創建規則屬性對話框。輸入規則名稱和表達式之後,單擊“確定”按鈕,即完成規則的創建。
9.2.2 查看規則
(1) 用Enterprise Manager 查看規則