有沒有辦法在t-sql中使用CHECK約束執行數據驗證,並以某種方式顯示未通過檢查約束的數據?檢查約束自定義消息
2
A
回答
2
是否有使用CHECK約束來執行數據驗證的方法。 ..
是的,這就是CHECK約束的用途:Im通過表建模無法完成數據驗證
...並以某種方式顯示未通過檢查約束的數據?
不,您提供的數據未能滿足CHECK約束要求時,您將從CHECK約束中返回的唯一信息是錯誤消息。這是由你來審查數據。
觸發器將是下一個可能的選項,有能力將嘗試的數據重定向到日誌記錄表。
2
您可以運行一個選擇,使用您的檢查約束中的約束定義的表上的邏輯。
返回的行將是那些不會通過驗證的行。
如果定義如下表和CHECK約束:
IF OBJECT_ID ('dbo.Vendors', 'U') IS NOT NULL
DROP TABLE dbo.Vendors;
GO
CREATE TABLE dbo.Vendors
(VendorID int PRIMARY KEY, VendorName nvarchar (50),
CreditRating tinyint)
GO
ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
CHECK (CreditRating >= 1 AND CreditRating <= 5)
您可以選擇行是這樣的:
SELECT VendorID
FROM dbo.Vendors
WHERE (CreditRating >= 1 AND CreditRating <= 5)
相關問題
- 1. WIX自定義消息Condtion檢查
- 2. Yii2:自定義錯誤消息時完整性約束違規
- 3. 關係刪除約束自定義消息yii2?
- 4. EF4自動檢查約束
- 5. 自定義UITableCellView的約束
- 6. 自定義的約束
- 7. 測試自定義約束,
- 8. 註冊自定義約束
- 9. 檢查約束
- 10. 檢查約束
- 11. 檢查約束
- 12. 檢查約束
- 13. 檢查約束
- 14. 檢查約束
- 15. 約束檢查
- 16. 檢查約束
- 17. 檢查sql約束
- 18. SQL檢查約束
- 19. Oracle檢查約束
- 20. PostgreSQL檢查約束
- 21. 檢查約束SQL
- 22. SQL約束檢查
- 23. Oracle檢查約束
- 24. Oracle約束檢查
- 25. C#System.Net.WebException檢索自定義404消息
- 26. 銀線條自定義安全檢查顯示自定義錯誤消息
- 27. 「檢查約束被一些行違反」 添加檢查約束
- 28. 檢查約束指定的值可能爲空或約束
- 29. 自定義消息和默認消息
- 30. 自定義鍵盤的約束問題
那麼,我想要的是在插入/更新操作後得到無效數據。 – Markus 2010-03-06 14:33:11
如果CHECK約束失敗,將不會有插入/更新。 CHECK約束不會告訴你哪一點數據導致它失敗。在將代碼發送到數據庫之前,您需要在代碼中檢查它。 – Oded 2010-03-06 14:36:28