2013-06-21 29 views
2

在SQL中優先使用約束規則之間的區別是什麼,最好是SQL Server 2008 R2。任何人都可以用一個實時的例子來解釋和演示嗎?SQL中的約束和規則之間的區別

+1

不要忘了,規則已經過時 - 見[創建規則在Sql Server 2012中](http://msdn.microsoft.com/en-us/library/ms188064.aspx)。 –

+0

對你還不清楚? –

回答

4

有很多不同,但是 最顯着的區別之一是我們可以將規則綁定到數據類型,而約束只能綁定到列。 此功能使我們能夠藉助規則創建自己的數據類型,並據此獲取輸入。

我找到了一個很好的例子,請檢查以下鏈接。 constraints vs rules

1

從Postgres的手冊:

PostgreSQL規則系統允許一個定義要上插入,更新,或在數據庫表中刪除執行的交替動作。粗略地說,當執行給定表上的給定命令時,規則會導致執行附加命令

作爲示例,可以使用約束來確保給定數字永遠不匹配某個值。對於註冊的新用戶或當前年份以上的出生年份不應低於1880年。

1

我想補充一些差異

1)規則reusables,所以一週時間,你讓你可以綁定到一個或多個列的規則。 2)另一方面,Constrains: - 單列可以有多個constrainst。 - 消息可以綁定到約束 約束在「創建表statmen」或用「改變表添加約束」

歡呼normaly創建

相關問題