2013-05-13 36 views
0

檢查約束我以爲這將是罰款執行SQL ommand像這樣創建多個特定輸入

安裝」或‘軟件修復’

這沒有工作這麼好,所以我嘗試

這沒有這麼大任,我得到了數據恢復

缺少表達這給了我一個無法驗證SYS.CH_SERVICETYPE -check約束違反

這是否意味着這個約束已經到位?如果不是

我該如何強制一個表的檢查約束只需要特定的值?

謝謝

回答

3

使用IN關鍵字。

ServiceType in ('Training', 'Data_Recovery', 'Consultation', 'Software Installation', 'Software Repair') 
+0

是的我得不到驗證(SYS.CK_SERVICETYPE) - 檢查約束違反我猜這意味着它已經執行?或者有另一個約束,不允許這只是=這些值 – Jim 2013-05-13 03:43:20

+1

這意味着,ServiceType列已經具有值,而不是你在約束中提到的值。在ServiceType列上執行SELECT DISTINCT以查看它具有的值。 – Noel 2013-05-13 03:54:38

+0

Nah發現它,在數據類型和軟件和安裝之間有一個雙倍的空間,這是當前CK的大小寫敏感謝謝In聲明,真的幫助了歡呼聲! – Jim 2013-05-13 03:59:02