我有一個包含列「成績」和「成績課程」的表。我有一個外鍵約束限制了A-F的等級值。我的問題是:我如何製作,以便「成績」列只能包含A-E,如果成品課程是真實的?否則它只能有F值?在sql中的真正限制
1
A
回答
1
您可以添加檢查約束這一點,像:
alter table Table1 add constraint CK_Grade
check (
(FinishedCourse = 0 and Grade = 'F') or
(FinishedCourse = 1 and Grade <> 'F')
-- you can use in ('A', 'B', 'C', 'D'), but since you have foreign key,
-- it's enough to check Grade <> 'F'
)
或
alter table Table1 add constraint CK_Grade
check (FinishedCourse = case when Grade = 'F' then 0 else 1 end)
0
你能完成的課程列添加到您的「洋」「Grade_Lookup」(我的名字)表和使用一個複合外鍵約束?例如
... FOREIGN KEY (Grade, Finished_Course) REFERENCES Grade_Lookup (Grade, Finished_Course) ...
你需要在Grade_Lookup
添加一個額外的記錄處理等級= F,Finished_Course =真。
相關問題
- 1. 「真正」 的執行時間限制
- 2. 限制在SQL Server表中的行
- 3. 在SQL中限制返回的數據
- 4. 唯一真正的限制是不是行之有效
- 5. bigquery「以CSV格式下載」的真正行限制是什麼?
- 6. Sql Server Compact限制 - 設計決策還是正在進行中?
- 7. SQL真正VS浮動
- 8. PE二進制文件中的段名真的有限制嗎?
- 9. 限制SQL JOIN
- 10. 域限制SQL
- 11. SQL限制從
- 12. 限制SQL
- 13. T-SQL - 如何在CTE中限制訂單限制
- 14. SharePoint中是否真的存在50個變體標籤限制?
- 15. 正確限制SQL和休眠中特定記錄的數量
- 16. 在SQL中限制unix時間戳
- 17. 在SQL中設置數字值限制
- 18. 在SQL中表達數據限制
- 19. 在SSRS SQL查詢中限制結果
- 20. 在java中的二進制流中使用真正的UTF-8
- 21. 真正的SQL語法在PHP腳本中突出的Vim
- 22. 如何在SQL中進行連接時限制行的上限?
- 23. 限制在SQL Server中刪除列的權限?
- 24. SQL限制總數與限制列
- 25. 真正二進制寫PHP
- 26. 真正在MonoTouch的
- 27. 限制SQL結果
- 28. SQL複製權限
- 29. 限制SQL查詢
- 30. SQL - 限制結果