SqlServer規則


定義:規則時單獨的SQLServer對象,可以關聯到一個或幾個表中的一列或幾列。它可以使用多種方式來完成對數據值的校驗,可以使用函數返回驗證信息,也可以使用關鍵字BETWEEN,LIKE和IN完成對輸入數據的檢查。

規則的作用和CHECK約束的功能部分相同,在向表的某列 插入或更新數據時,用它來限制輸入的新值的取值范圍。

規則和CHECK約束的不同點:

  CHECK約束是用CREATE Table語句在創建表時指定的,而規則需要作為單獨的數據庫對象來實現。

  在一列上只能用一個規則,但可以使用多個CHECK約束。

  規則可以應用於多個列,還可以應用於用戶自定義的數據類型,而CHECK約束只能應用於它定義的列。

語法:

  CREATE RULE rule_name

  AS

  condition_expression

例如:

create rule rule_score
as
@value between 0 and 100
--@value為變量  功能是位於0到100之間

sp_bindrule rule_score,'NewSS.StuAge'
--綁定到表的列上

創建規則后則立即在規則下面生成這一規則。

規則綁定到列上,需要用到系統存儲過程sp_bindrule

打開列中NewSS.StuAge的屬性且年齡輸入超過100會報錯

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----------------------------------------------------------------------------------------------------------------------

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解除和刪除規則

刪除規則 drop rule rule_score

但是刪除之前應該先解綁規則

規則綁定在一個列上 sp_unbindrule 'NewSS.Age'

但是如果規則綁定多個列上的話,也是依依解綁再刪除

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM