首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 規則物件建立與管理完整指南:資料行值驗證的獨立機制

     編輯:關於SqlServer

規則 vs CHECK 條件約束

  • 規則:獨立資料庫物件,可繫結至資料行或使用者定義型別,與資料表獨立(刪除資料表不影響規則)。
  • CHECK 約束:定義於 CREATE/ALTER TABLE 內,屬於資料表一部分,較標準但無法直接作用於使用者定義型別。
  • 兩者可共存:單一資料行可有一個規則與多個 CHECK 約束。

建立規則

T-SQL 命令

CREATE RULE rule_name AS condition_expression;

condition_expression 必須以 @ 開頭,可包含算術/關係運算子、謂詞(IN、LIKE、BETWEEN 等)。

CREATE RULE 語法範例

Enterprise Manager 圖形化建立

  1. 右鍵 Rules → New Rule。
  2. 輸入名稱與運算式(如 @value > 0 AND @value < 100),確定。
    建立規則屬性對話框

檢視規則

  • 選取 Rules 物件,工作區顯示清單。
  • 右鍵特定規則 → Properties 查看/編輯運算式。

繫結與解除繫結

-- 繫結至資料行
EXEC sp_bindrule 'positive_int', 'employee.age';
-- 繫結至使用者定義型別
EXEC sp_bindrule 'positive_int', 'udt_positive_int';
-- 解除繫結
EXEC sp_unbindrule 'employee.age';

小結

規則物件提供跨資料表、跨型別的資料驗證邏輯重用,雖然 CHECK 約束更標準,但規則在使用者定義型別驗證上仍具獨特價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved